llvm-project/llvm/lib/Transforms/Scalar
Florian Hahn 5e7e2162d4 [DSE,MemorySSA] Use BatchAA for AA queries.
We can use BatchAA to avoid some repeated AA queries. We only remove
stores, so I think we will get away with using a single BatchAA instance
for the complete run.

The changes in AliasAnalysis.h mirror the changes in D85583.

The change improves compile-time by roughly 1%.
http://llvm-compile-time-tracker.com/compare.php?from=67ad786353dfcc7633c65de11601d7823746378e&to=10529e5b43809808e8c198f88fffd8f756554e45&stat=instructions

This is part of the patches to bring down compile-time to the level
referenced in
http://lists.llvm.org/pipermail/llvm-dev/2020-August/144417.html

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D86275
2020-08-22 08:36:35 +01:00
..
ADCE.cpp [ADCE] Fix incorrect reporting of CFG changes 2020-04-14 20:26:13 +07:00
AlignmentFromAssumptions.cpp Temporarily Revert "[AssumeBundles] Use operand bundles to encode alignment assumptions" 2020-07-16 11:54:04 -07:00
BDCE.cpp [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses 2020-07-10 08:34:53 +01:00
CMakeLists.txt
CallSiteSplitting.cpp [CallSite removal][CallSiteSplitting] Use CallBase instead of CallSite. NFC 2020-04-15 15:38:02 -07:00
ConstantHoisting.cpp Revert rG5dd566b7c7b78bd- "PassManager.h - remove unnecessary Function.h/Module.h includes. NFCI." 2020-07-24 13:02:33 +01:00
ConstantProp.cpp
CorrelatedValuePropagation.cpp [NewPM][LVI] Abandon LVI after CVP 2020-08-01 23:47:46 +02:00
DCE.cpp [AssumeBundles] preserve knowledge in DCE 2020-04-14 12:48:15 +02:00
DeadStoreElimination.cpp [DSE,MemorySSA] Use BatchAA for AA queries. 2020-08-22 08:36:35 +01:00
DivRemPairs.cpp Correctly report modified status for DivRemPairs 2020-06-05 16:06:31 +02:00
EarlyCSE.cpp DomTree: remove explicit use of DomTreeNodeBase::iterator 2020-07-08 18:18:49 +02:00
FlattenCFGPass.cpp
Float2Int.cpp [Float2Int] Stop passing around a reference to the class member Roots. NFC 2020-04-16 15:24:13 +02:00
GVN.cpp Revert "[Instruction] Add updateLocationAfterHoist helper" 2020-08-11 14:54:09 -07:00
GVNHoist.cpp NFC: [GVNHoist] Outline functions from the class 2020-08-17 17:40:04 -07:00
GVNSink.cpp Use llvm::is_contained where appropriate (NFC) 2020-07-27 10:20:44 -07:00
GuardWidening.cpp
IVUsersPrinter.cpp
IndVarSimplify.cpp [SCEV][IndVarSimplify] insert point should not be block front. 2020-07-17 22:25:10 -04:00
InductiveRangeCheckElimination.cpp LoopAnalysisManager.h - reduce includes to forward declarations. NFC. 2020-06-06 14:06:46 +01:00
InferAddressSpaces.cpp [InferAddressSpaces] Handle the pair of `ptrtoint`/`inttoptr`. 2020-06-25 20:46:56 -04:00
InstSimplifyPass.cpp [Hexagon] Use InstSimplify instead of ConstantProp 2020-08-04 15:42:39 -07:00
JumpThreading.cpp [JumpThreading] Allow duplicating a basic block into preds when its branch condition is freeze(phi) 2020-08-06 09:51:17 +09:00
LICM.cpp Revert "[Instruction] Add updateLocationAfterHoist helper" 2020-08-11 14:54:09 -07:00
LLVMBuild.txt
LoopAccessAnalysisPrinter.cpp
LoopDataPrefetch.cpp [SCEV] Move ScalarEvolutionExpander.cpp to Transforms/Utils (NFC). 2020-05-20 10:53:40 +01:00
LoopDeletion.cpp [LoopDeletion] Emit a remark when a dead loop is deleted 2020-07-03 15:20:23 -07:00
LoopDistribute.cpp Fix return status of LoopDistribute 2020-06-18 20:13:18 +02:00
LoopFuse.cpp [Loop Peeling] Separate the Loop Peeling Utilities from the Loop Unrolling Utilities 2020-07-31 18:31:58 +00:00
LoopIdiomRecognize.cpp Recommit "[SCEVExpander] Add helper to clean up instrs inserted while expanding." 2020-08-21 15:04:17 +01:00
LoopInstSimplify.cpp [Utils] Use WeakTrackingVH in vector used as scratch storage. 2020-01-23 16:04:57 -08:00
LoopInterchange.cpp [LoopInterchange] Move instructions from preheader to outer loop header. 2020-08-10 12:41:33 +01:00
LoopLoadElimination.cpp [LLE] std::inserter doesn't work with SmallSet, so don't use it. 2020-07-20 15:47:42 +02:00
LoopPassManager.cpp [NewPM][PassInstrumentation] Add PreservedAnalyses parameter to AfterPass* callbacks 2020-08-21 16:10:42 +07:00
LoopPredication.cpp [Transforms] Fix typos. NFC 2020-05-25 22:34:08 +02:00
LoopRerollPass.cpp [Analysis/Transforms/Sanitizers] As part of using inclusive language 2020-06-20 00:42:26 -07:00
LoopRotation.cpp [LoopRotate] Get and update MSSA only if available in legacy pass manager. 2020-02-14 10:47:26 -08:00
LoopSimplifyCFG.cpp [LoopSimplifyCFG] Delete landing pads in dead exit blocks 2020-07-29 18:36:51 +07:00
LoopSink.cpp
LoopStrengthReduce.cpp Reland "[SCEVExpander] Add option to preserve LCSSA directly." 2020-07-29 20:41:53 +01:00
LoopUnrollAndJamPass.cpp [Loop Peeling] Separate the Loop Peeling Utilities from the Loop Unrolling Utilities 2020-07-31 18:31:58 +00:00
LoopUnrollPass.cpp [LoopUnroll] Adjust CostKind query 2020-08-12 12:56:09 +01:00
LoopUnswitch.cpp Reland "[LoopUnswitch] Fix incorrect Modified status" 2020-08-20 11:52:09 +02:00
LoopVersioningLICM.cpp [CallSite removal] Remove unneeded includes of CallSite.h. NFC 2020-04-23 21:01:48 -07:00
LowerAtomic.cpp [Transforms] Simplify with make_early_inc_range 2020-02-02 00:54:32 -08:00
LowerConstantIntrinsics.cpp Preserve GlobalsAA analysis result in LowerConstantIntrinsics 2020-07-02 15:40:41 +01:00
LowerExpectIntrinsic.cpp Make helpers static. NFC. 2020-07-09 13:48:56 +02:00
LowerGuardIntrinsic.cpp
LowerMatrixIntrinsics.cpp [NFC] Remove unused GetUnderlyingObject paramenter 2020-07-31 02:10:03 -07:00
LowerWidenableCondition.cpp
MakeGuardsExplicit.cpp
MemCpyOptimizer.cpp Temporarily revert "[MemCpyOptimizer] Simplify API of processStore and processMem* functions" 2020-06-12 14:01:27 -07:00
MergeICmps.cpp
MergedLoadStoreMotion.cpp [Transforms] Simplify with make_early_inc_range 2020-02-02 00:54:32 -08:00
NaryReassociate.cpp [Analysis/Transforms/Sanitizers] As part of using inclusive language 2020-06-20 00:42:26 -07:00
NewGVN.cpp [InstSimplify/NewGVN] Add option to control the use of undef. 2020-08-09 19:16:56 +01:00
PartiallyInlineLibCalls.cpp
PlaceSafepoints.cpp [Statepoint] Replace uses of isX functions with idiomatic isa<X> 2020-05-27 18:32:28 -07:00
Reassociate.cpp [DebugInfo] Reduce SalvageDebugInfo() functions 2020-06-08 19:28:18 +01:00
Reg2Mem.cpp
RewriteStatepointsForGC.cpp [Analysis] TTI: Add CastContextHint for getCastInstrCost 2020-07-29 13:32:53 +01:00
SCCP.cpp [InstCombine] Fix incorrect Modified status 2020-08-13 15:10:41 +02:00
SROA.cpp [Transforms][SROA] Skip uses of allocas where the type is scalable 2020-08-12 09:35:48 +00:00
Scalar.cpp [NewPM][LoopVersioning] Port LoopVersioning to NPM 2020-08-03 10:32:09 -07:00
Scalarizer.cpp [SVE] Remove calls to VectorType::getNumElements from Scalar 2020-07-08 11:08:20 -07:00
SeparateConstOffsetFromGEP.cpp Remove getNumUses() comparisons (NFC) 2020-05-02 11:05:19 +02:00
SimpleLoopUnswitch.cpp [NFCI][SimpleLoopUnswitch] Adjust CostKind query 2020-08-14 07:54:20 +01:00
SimplifyCFGPass.cpp Temporairly revert "[SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline" 2020-08-22 00:33:22 +03:00
Sink.cpp DomTree: remove explicit use of DomTreeNodeBase::iterator 2020-07-08 18:18:49 +02:00
SpeculateAroundPHIs.cpp [NFC][CostModel] Add TargetCostKind to relevant APIs 2020-05-05 10:35:54 +01:00
SpeculativeExecution.cpp SpeculativeExecution: Fix for logic change introduced in D81730. 2020-07-09 15:45:23 +03:00
StraightLineStrengthReduce.cpp
StructurizeCFG.cpp Revert rG5dd566b7c7b78bd- "PassManager.h - remove unnecessary Function.h/Module.h includes. NFCI." 2020-07-24 13:02:33 +01:00
TailRecursionElimination.cpp Revert "[TRE] allow TRE for non-capturing calls." 2020-07-13 00:39:48 +03:00
WarnMissedTransforms.cpp [TTI] Clean up includes (NFC). 2020-04-19 20:11:59 +01:00