[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