[LLVMdev] noalias and alias.scope metadata producers

Hal Finkel hfinkel at anl.gov
Fri Sep 19 08:58:26 PDT 2014


Hi Samuel,

Currently we add this metadata when inlining functions with noalias function parameters. See the function AddAliasScopeMetadata in lib/Transforms/Utils/InlineFunction.cpp.

On my TODO list is to generate this metadata directly in Clang for block-level pointers with restrict, etc. but I've not gotten there yet.

Thanks again,
Hal

----- Original Message -----
> From: "Samuel F Antao" <sfantao at us.ibm.com>
> To: "LLVM Dev" <llvmdev at cs.uiuc.edu>
> Sent: Friday, September 19, 2014 10:42:59 AM
> Subject: [LLVMdev] noalias and alias.scope metadata producers
> 
> 
> 
> 
> Hi all,
> 
> In LLVM language reference I read that one can use noalias and
> alias.scope metadata to provide more detailed information about
> pointer aliasing. However, I was unable to obtain any LLVM IR
> annotations using this metadata from any LLVM optimization pass or
> Clang frontend (am I missing something?).
> 
> If I understand it correctly, this information would complement the
> type-based alias information and whatever mechanisms the alias
> analysis passes in LLVM compute from the input program. I was
> wondering if the coverage provided by these two components is
> already acceptable or if there is work that can be done in LLVM IR
> clients like clang to provide more information with proper noalias
> and alias.scope annotations.
> 
> Any comments?
> 
> Thanks!
> Samuel
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory



More information about the llvm-dev mailing list