llvm-capstone/llvm/unittests/Analysis
Nikita Popov f96428e16d [MemorySSA] Don't optimize uses during construction
This changes MemorySSA to be constructed in unoptimized form.
MemorySSA::ensureOptimizedUses() can be called to optimize all
uses (once). This should be done by passes where having optimized
uses is beneficial, either because we're going to query all uses
anyway, or because we're doing def-use walks.

This should help reduce the compile-time impact of MemorySSA for
some use cases (the reason why I started looking into this is
D117926), which can avoid optimizing all uses upfront, and instead
only optimize those that are actually queried.

Actually, we have an existing use-case for this, which is EarlyCSE.
Disabling eager use optimization there gives a significant
compile-time improvement, because EarlyCSE will generally only query
clobbers for a subset of all uses (this change is not included in
this patch).

Differential Revision: https://reviews.llvm.org/D121381
2022-03-18 09:56:16 +01:00
..
Inputs/ir2native_x86_64_model
AliasAnalysisTest.cpp
AliasSetTrackerTest.cpp
AssumeBundleQueriesTest.cpp
BasicAliasAnalysisTest.cpp
BlockFrequencyInfoTest.cpp
BranchProbabilityInfoTest.cpp
CallGraphTest.cpp
CaptureTrackingTest.cpp
CFGTest.cpp
CGSCCPassManagerTest.cpp [NFC] Add #include for constants 2022-02-23 01:26:53 -08:00
CMakeLists.txt
ConstraintSystemTest.cpp
DDGTest.cpp
DivergenceAnalysisTest.cpp
DomTreeUpdaterTest.cpp
FunctionPropertiesAnalysisTest.cpp Cleanup includes: LLVMAnalysis 2022-03-01 18:01:54 +01:00
GlobalsModRefTest.cpp
InlineCostTest.cpp Cleanup includes: LLVMAnalysis 2022-03-01 18:01:54 +01:00
IRSimilarityIdentifierTest.cpp [IRSim] Make sure the first instruction of a block doesn't get missed if it is the first valid instruction in Module. 2022-03-13 23:13:09 -05:00
IVDescriptorsTest.cpp
LazyCallGraphTest.cpp
LoadsTest.cpp [NFC] Add #include for constants 2022-02-23 01:26:53 -08:00
LoopInfoTest.cpp Cleanup includes: LLVMAnalysis 2022-03-01 18:01:54 +01:00
LoopNestTest.cpp
MemoryBuiltinsTest.cpp
MemorySSATest.cpp [MemorySSA] Don't optimize uses during construction 2022-03-18 09:56:16 +01:00
MLModelRunnerTest.cpp
PhiValuesTest.cpp [NFC] Add #include for constants 2022-02-23 01:26:53 -08:00
ProfileSummaryInfoTest.cpp
ScalarEvolutionTest.cpp
SparsePropagation.cpp
TargetLibraryInfoTest.cpp
TBAATest.cpp
TFUtilsTest.cpp
UnrollAnalyzerTest.cpp
ValueLatticeTest.cpp
ValueTrackingTest.cpp [ValueTracking] Checking haveNoCommonBitsSet for (x & y) and ~(x | y) 2022-02-16 13:42:52 +08:00
VectorFunctionABITest.cpp
VectorUtilsTest.cpp