[PATCH] D12080: [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible with the new pass manager, and no longer relying on analysis groups.

Chandler Carruth via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 21 20:25:24 PDT 2015


chandlerc updated this revision to Diff 32896.
chandlerc added a comment.

Renamed everything to use a shorter name (AAResults and co.).

This reflects that this isn't really about a *function* AA, its about an
intra-procedural AA which is thoe only way we know how to formulate AA right
now in LLVM. If we ever grow a truly inter-procedural AA, it'll like need
a very different interface (that we can't predict today).


http://reviews.llvm.org/D12080

Files:
  include/llvm/Analysis/AliasAnalysis.h
  include/llvm/Analysis/AliasAnalysisCounter.h
  include/llvm/Analysis/AliasSetTracker.h
  include/llvm/Analysis/BasicAliasAnalysis.h
  include/llvm/Analysis/CFLAliasAnalysis.h
  include/llvm/Analysis/DependenceAnalysis.h
  include/llvm/Analysis/GlobalsModRef.h
  include/llvm/Analysis/Loads.h
  include/llvm/Analysis/LoopAccessAnalysis.h
  include/llvm/Analysis/MemoryDependenceAnalysis.h
  include/llvm/Analysis/ObjCARCAliasAnalysis.h
  include/llvm/Analysis/Passes.h
  include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h
  include/llvm/Analysis/ScopedNoAliasAA.h
  include/llvm/Analysis/TypeBasedAliasAnalysis.h
  include/llvm/CodeGen/LiveIntervalAnalysis.h
  include/llvm/CodeGen/LiveRangeEdit.h
  include/llvm/CodeGen/MachineInstr.h
  include/llvm/CodeGen/MachineScheduler.h
  include/llvm/CodeGen/ScheduleDAG.h
  include/llvm/CodeGen/SelectionDAG.h
  include/llvm/InitializePasses.h
  include/llvm/LinkAllPasses.h
  include/llvm/Transforms/Utils/Cloning.h
  include/llvm/Transforms/Utils/Local.h
  include/llvm/Transforms/Utils/LoopUtils.h
  lib/Analysis/AliasAnalysis.cpp
  lib/Analysis/AliasAnalysisCounter.cpp
  lib/Analysis/AliasAnalysisEvaluator.cpp
  lib/Analysis/AliasSetTracker.cpp
  lib/Analysis/Analysis.cpp
  lib/Analysis/BasicAliasAnalysis.cpp
  lib/Analysis/CFLAliasAnalysis.cpp
  lib/Analysis/CMakeLists.txt
  lib/Analysis/DependenceAnalysis.cpp
  lib/Analysis/GlobalsModRef.cpp
  lib/Analysis/Lint.cpp
  lib/Analysis/LoopAccessAnalysis.cpp
  lib/Analysis/MemDepPrinter.cpp
  lib/Analysis/MemoryDependenceAnalysis.cpp
  lib/Analysis/NoAliasAnalysis.cpp
  lib/Analysis/ObjCARCAliasAnalysis.cpp
  lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
  lib/Analysis/ScopedNoAliasAA.cpp
  lib/Analysis/TypeBasedAliasAnalysis.cpp
  lib/CodeGen/InlineSpiller.cpp
  lib/CodeGen/LiveIntervalAnalysis.cpp
  lib/CodeGen/MachineCSE.cpp
  lib/CodeGen/MachineFunctionPass.cpp
  lib/CodeGen/MachineLICM.cpp
  lib/CodeGen/MachineScheduler.cpp
  lib/CodeGen/MachineSink.cpp
  lib/CodeGen/Passes.cpp
  lib/CodeGen/PostRASchedulerList.cpp
  lib/CodeGen/ProcessImplicitDefs.cpp
  lib/CodeGen/RegAllocBasic.cpp
  lib/CodeGen/RegAllocGreedy.cpp
  lib/CodeGen/RegAllocPBQP.cpp
  lib/CodeGen/RegisterCoalescer.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
  lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  lib/CodeGen/TwoAddressInstructionPass.cpp
  lib/LTO/LTOCodeGenerator.cpp
  lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
  lib/Target/PowerPC/PPCLoopDataPrefetch.cpp
  lib/Transforms/IPO/ArgumentPromotion.cpp
  lib/Transforms/IPO/FunctionAttrs.cpp
  lib/Transforms/IPO/InlineAlways.cpp
  lib/Transforms/IPO/InlineSimple.cpp
  lib/Transforms/IPO/Inliner.cpp
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/InstCombine/InstructionCombining.cpp
  lib/Transforms/Instrumentation/SafeStack.cpp
  lib/Transforms/ObjCARC/ObjCARC.cpp
  lib/Transforms/ObjCARC/ObjCARCContract.cpp
  lib/Transforms/ObjCARC/ObjCARCOpts.cpp
  lib/Transforms/ObjCARC/ProvenanceAnalysis.h
  lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
  lib/Transforms/Scalar/DeadStoreElimination.cpp
  lib/Transforms/Scalar/FlattenCFGPass.cpp
  lib/Transforms/Scalar/Float2Int.cpp
  lib/Transforms/Scalar/GVN.cpp
  lib/Transforms/Scalar/IndVarSimplify.cpp
  lib/Transforms/Scalar/LICM.cpp
  lib/Transforms/Scalar/LoadCombine.cpp
  lib/Transforms/Scalar/LoopIdiomRecognize.cpp
  lib/Transforms/Scalar/LoopInterchange.cpp
  lib/Transforms/Scalar/LoopRerollPass.cpp
  lib/Transforms/Scalar/LoopRotation.cpp
  lib/Transforms/Scalar/MemCpyOptimizer.cpp
  lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
  lib/Transforms/Scalar/Scalar.cpp
  lib/Transforms/Scalar/Sink.cpp
  lib/Transforms/Utils/InlineFunction.cpp
  lib/Transforms/Utils/LCSSA.cpp
  lib/Transforms/Utils/LoopSimplify.cpp
  lib/Transforms/Vectorize/BBVectorize.cpp
  lib/Transforms/Vectorize/LoopVectorize.cpp
  lib/Transforms/Vectorize/SLPVectorizer.cpp
  test/Analysis/BasicAA/full-store-partial-alias.ll
  test/Analysis/CFLAliasAnalysis/arguments-globals.ll
  test/Analysis/CFLAliasAnalysis/basic-interproc.ll
  test/Analysis/CFLAliasAnalysis/branch-alias.ll
  test/Analysis/CFLAliasAnalysis/const-expr-gep.ll
  test/Analysis/CFLAliasAnalysis/full-store-partial-alias.ll
  test/Analysis/CFLAliasAnalysis/gep-signed-arithmetic.ll
  test/Analysis/CFLAliasAnalysis/multilevel-combine.ll
  test/Analysis/CFLAliasAnalysis/must-and-partial.ll
  test/Analysis/CFLAliasAnalysis/va.ll
  test/Analysis/DependenceAnalysis/PR21585.ll
  test/Analysis/GlobalsModRef/2008-09-03-ReadGlobals.ll
  test/Analysis/GlobalsModRef/aliastest.ll
  test/Analysis/GlobalsModRef/atomic-instrs.ll
  test/Analysis/GlobalsModRef/chaining-analysis.ll
  test/Analysis/GlobalsModRef/indirect-global.ll
  test/Analysis/GlobalsModRef/modreftest.ll
  test/Analysis/GlobalsModRef/nonescaping-noalias.ll
  test/Analysis/GlobalsModRef/pr12351.ll
  test/Analysis/GlobalsModRef/purecse.ll
  test/Analysis/ScalarEvolution/scev-aa.ll
  test/Analysis/TypeBasedAliasAnalysis/precedence.ll
  test/Transforms/BBVectorize/X86/wr-aliases.ll
  test/Transforms/GVN/crash-no-aa.ll
  test/Transforms/GVN/pr14166.ll
  test/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.ll
  test/Transforms/LICM/hoist-invariant-load.ll
  test/Transforms/LoopVectorize/X86/reduction-crash.ll
  test/Transforms/ObjCARC/provenance.ll
  unittests/Analysis/AliasAnalysisTest.cpp
  unittests/Analysis/MixedTBAATest.cpp
  unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12080.32896.patch
Type: text/x-patch
Size: 307353 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150822/517de0b3/attachment-0001.bin>


More information about the llvm-commits mailing list