[PATCH] Scoped NoAlias Metadata
hfinkel at anl.gov
hfinkel at anl.gov
Fri Dec 13 15:29:17 PST 2013
Rebased and updated as per review comments.
The metadata for each scope added by the inliner now has a name derived from the function name and the argument name. These also carry a self reference (to make them unique), but this added name should make the metadata easier to understand. Something like this:
!1 = metadata !{metadata !1, metadata !"hello: %a"}
The form of the metadata that defines each scope is, as before, arbitrary.
Hi atrick, sunfish, chandlerc,
http://llvm-reviews.chandlerc.com/D2194
CHANGE SINCE LAST DIFF
http://llvm-reviews.chandlerc.com/D2194?vs=5644&id=6098#toc
Files:
include/llvm-c/Transforms/Scalar.h
include/llvm/Analysis/AliasAnalysis.h
include/llvm/Analysis/AliasSetTracker.h
include/llvm/Analysis/Loads.h
include/llvm/Analysis/MemoryDependenceAnalysis.h
include/llvm/Analysis/Passes.h
include/llvm/CodeGen/MachineFunction.h
include/llvm/CodeGen/MachineMemOperand.h
include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGNodes.h
include/llvm/IR/IRBuilder.h
include/llvm/IR/Instruction.h
include/llvm/IR/LLVMContext.h
include/llvm/IR/MDBuilder.h
include/llvm/IR/Metadata.h
include/llvm/InitializePasses.h
include/llvm/LinkAllPasses.h
lib/Analysis/AliasAnalysis.cpp
lib/Analysis/AliasAnalysisEvaluator.cpp
lib/Analysis/AliasSetTracker.cpp
lib/Analysis/Analysis.cpp
lib/Analysis/BasicAliasAnalysis.cpp
lib/Analysis/CMakeLists.txt
lib/Analysis/Loads.cpp
lib/Analysis/MemoryDependenceAnalysis.cpp
lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
lib/Analysis/ScopedNoAliasAA.cpp
lib/Analysis/TypeBasedAliasAnalysis.cpp
lib/CodeGen/MachineFunction.cpp
lib/CodeGen/MachineInstr.cpp
lib/CodeGen/Passes.cpp
lib/CodeGen/ScheduleDAGInstrs.cpp
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
lib/IR/IRBuilder.cpp
lib/IR/LLVMContext.cpp
lib/IR/Metadata.cpp
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/Mips/MipsSEISelLowering.cpp
lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Transforms/IPO/ArgumentPromotion.cpp
lib/Transforms/IPO/FunctionAttrs.cpp
lib/Transforms/IPO/PassManagerBuilder.cpp
lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
lib/Transforms/ObjCARC/ObjCARCAliasAnalysis.cpp
lib/Transforms/Scalar/GVN.cpp
lib/Transforms/Scalar/JumpThreading.cpp
lib/Transforms/Scalar/LICM.cpp
lib/Transforms/Scalar/SROA.cpp
lib/Transforms/Scalar/Scalar.cpp
lib/Transforms/Scalar/ScalarReplAggregates.cpp
lib/Transforms/Utils/InlineFunction.cpp
lib/Transforms/Vectorize/BBVectorize.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Analysis/ScopedNoAliasAA/basic-hierarchy.ll
test/Analysis/ScopedNoAliasAA/basic.ll
test/Analysis/ScopedNoAliasAA/basic2.ll
test/Analysis/TypeBasedAliasAnalysis/placement-tbaa.ll
test/Analysis/TypeBasedAliasAnalysis/tbaa-path.ll
test/Transforms/GVN/noalias.ll
test/Transforms/Inline/noalias.ll
test/Transforms/Inline/noalias2.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D2194.3.patch
Type: text/x-patch
Size: 197504 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131213/4b671b60/attachment.bin>
More information about the llvm-commits
mailing list