mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-19 14:00:09 +00:00
f96428e16d
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 |
||
---|---|---|
.. | ||
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 | ||
CMakeLists.txt | ||
ConstraintSystemTest.cpp | ||
DDGTest.cpp | ||
DivergenceAnalysisTest.cpp | ||
DomTreeUpdaterTest.cpp | ||
FunctionPropertiesAnalysisTest.cpp | ||
GlobalsModRefTest.cpp | ||
InlineCostTest.cpp | ||
IRSimilarityIdentifierTest.cpp | ||
IVDescriptorsTest.cpp | ||
LazyCallGraphTest.cpp | ||
LoadsTest.cpp | ||
LoopInfoTest.cpp | ||
LoopNestTest.cpp | ||
MemoryBuiltinsTest.cpp | ||
MemorySSATest.cpp | ||
MLModelRunnerTest.cpp | ||
PhiValuesTest.cpp | ||
ProfileSummaryInfoTest.cpp | ||
ScalarEvolutionTest.cpp | ||
SparsePropagation.cpp | ||
TargetLibraryInfoTest.cpp | ||
TBAATest.cpp | ||
TFUtilsTest.cpp | ||
UnrollAnalyzerTest.cpp | ||
ValueLatticeTest.cpp | ||
ValueTrackingTest.cpp | ||
VectorFunctionABITest.cpp | ||
VectorUtilsTest.cpp |