]> granicus.if.org Git - llvm/commit
[PM] Introduce an analysis set used to preserve all analyses over
authorChandler Carruth <chandlerc@gmail.com>
Sun, 15 Jan 2017 06:32:49 +0000 (06:32 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Sun, 15 Jan 2017 06:32:49 +0000 (06:32 +0000)
commit10dd00ced58bf0684baf484769eef4c8ce6772a6
tree340123f975b129f8d098864264b345d866b68ce3
parentaf2151d394ee6592bf9a0e21da4e7195036372c3
[PM] Introduce an analysis set used to preserve all analyses over
a function's CFG when that CFG is unchanged.

This allows transformation passes to simply claim they preserve the CFG
and analysis passes to check for the CFG being preserved to remove the
fanout of all analyses being listed in all passes.

I've gone through and removed or cleaned up as many of the comments
reminding us to do this as I could.

Differential Revision: https://reviews.llvm.org/D28627

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@292054 91177308-0d34-0410-b5e6-96231b3b80d8
40 files changed:
include/llvm/Analysis/BlockFrequencyInfo.h
include/llvm/Analysis/DominanceFrontier.h
include/llvm/Analysis/LoopInfo.h
include/llvm/Analysis/PostDominators.h
include/llvm/Analysis/RegionInfo.h
include/llvm/IR/Dominators.h
include/llvm/IR/PassManager.h
lib/Analysis/BlockFrequencyInfo.cpp
lib/Analysis/DominanceFrontier.cpp
lib/Analysis/LoopInfo.cpp
lib/Analysis/PostDominators.cpp
lib/Analysis/RegionInfo.cpp
lib/IR/Dominators.cpp
lib/IR/PassManager.cpp
lib/Transforms/InstCombine/InstructionCombining.cpp
lib/Transforms/Scalar/ADCE.cpp
lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
lib/Transforms/Scalar/BDCE.cpp
lib/Transforms/Scalar/ConstantHoisting.cpp
lib/Transforms/Scalar/DCE.cpp
lib/Transforms/Scalar/DeadStoreElimination.cpp
lib/Transforms/Scalar/EarlyCSE.cpp
lib/Transforms/Scalar/Float2Int.cpp
lib/Transforms/Scalar/GuardWidening.cpp
lib/Transforms/Scalar/IndVarSimplify.cpp
lib/Transforms/Scalar/LICM.cpp
lib/Transforms/Scalar/LoopInstSimplify.cpp
lib/Transforms/Scalar/LoopRotation.cpp
lib/Transforms/Scalar/LoopSimplifyCFG.cpp
lib/Transforms/Scalar/LoopUnrollPass.cpp
lib/Transforms/Scalar/MemCpyOptimizer.cpp
lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
lib/Transforms/Scalar/NaryReassociate.cpp
lib/Transforms/Scalar/Reassociate.cpp
lib/Transforms/Scalar/SROA.cpp
lib/Transforms/Scalar/Sink.cpp
lib/Transforms/Utils/LCSSA.cpp
lib/Transforms/Utils/Mem2Reg.cpp
lib/Transforms/Utils/SimplifyInstructions.cpp
lib/Transforms/Vectorize/SLPVectorizer.cpp