[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
Mon Sep 7 21:41:14 PDT 2015


chandlerc updated this revision to Diff 34187.
chandlerc marked an inline comment as done.
chandlerc added a comment.

Update to a fresh baseline, and add logic to recurse back through the entire
set of AA results within BasicAA. This should more accurately follow the
original logic of the analysis group implementation.


http://reviews.llvm.org/D12080

Files:
  examples/Kaleidoscope/Chapter4/toy.cpp
  examples/Kaleidoscope/Chapter5/toy.cpp
  examples/Kaleidoscope/Chapter6/toy.cpp
  examples/Kaleidoscope/Chapter7/toy.cpp
  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/opaque-call-alias.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.34187.patch
Type: text/x-patch
Size: 315000 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150908/515cc2cf/attachment-0001.bin>


More information about the llvm-commits mailing list