1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/unittests/Analysis
Reid Kleckner 2a197a86b4 [IR] Lazily number instructions for local dominance queries
Essentially, fold OrderedBasicBlock into BasicBlock, and make it
auto-invalidate the instruction ordering when new instructions are
added. Notably, we don't need to invalidate it when removing
instructions, which is helpful when a pass mostly delete dead
instructions rather than transforming them.

The downside is that Instruction grows from 56 bytes to 64 bytes.  The
resulting LLVM code is substantially simpler and automatically handles
invalidation, which makes me think that this is the right speed and size
tradeoff.

The important change is in SymbolTableTraitsImpl.h, where the numbering
is invalidated. Everything else should be straightforward.

We probably want to implement a fancier re-numbering scheme so that
local updates don't invalidate the ordering, but I plan for that to be
future work, maybe for someone else.

Reviewed By: lattner, vsk, fhahn, dexonsmith

Differential Revision: https://reviews.llvm.org/D51664
2020-02-18 14:44:24 -08:00
..
AliasAnalysisTest.cpp [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
AliasSetTrackerTest.cpp
BasicAliasAnalysisTest.cpp [AliasAnalysis] Initialize a member variable that may be used by unit test. 2019-08-02 08:05:14 +00:00
BlockFrequencyInfoTest.cpp
BranchProbabilityInfoTest.cpp
CallGraphTest.cpp
CaptureTrackingTest.cpp [IR] Lazily number instructions for local dominance queries 2020-02-18 14:44:24 -08:00
CFGTest.cpp [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
CGSCCPassManagerTest.cpp Revert "Add LazyCallGraph API to add function to RefSCC" 2020-02-17 14:25:10 -05:00
CMakeLists.txt [IR] Lazily number instructions for local dominance queries 2020-02-18 14:44:24 -08:00
DivergenceAnalysisTest.cpp
DomTreeUpdaterTest.cpp
GlobalsModRefTest.cpp Change TargetLibraryInfo analysis passes to always require Function 2019-09-07 03:09:36 +00:00
IVDescriptorsTest.cpp Save the induction binary operator in IVDescriptors for non FP induction variables. 2019-05-14 13:26:36 +00:00
LazyCallGraphTest.cpp Re-land "Add LazyCallGraph API to add function to RefSCC" 2020-02-17 16:59:25 -05:00
LoadsTest.cpp [Loads] Handle simple cases with same base pointer with constant offsets in FindAvailableLoadedValue when AA is null. 2020-01-29 13:05:46 -08:00
LoopInfoTest.cpp Rename LoopInfo::isRotated() to LoopInfo::isRotatedForm(). 2019-12-12 14:22:36 -05:00
MemoryBuiltinsTest.cpp
MemorySSATest.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
OrderedInstructionsTest.cpp
PhiValuesTest.cpp
ProfileSummaryInfoTest.cpp [PGO][PGSO] ProfileSummary changes. 2019-09-24 22:17:51 +00:00
ScalarEvolutionTest.cpp [SVEV] Recognise hardware-loop intrinsic loop.decrement.reg 2020-01-10 09:35:00 +00:00
SparsePropagation.cpp
TargetLibraryInfoTest.cpp [unittests] Fix TargetLibraryInfoTest.ValidProto 2020-02-12 14:13:14 +02:00
TBAATest.cpp
UnrollAnalyzerTest.cpp [unittests] Add InitializePasses.h includes 2019-11-13 19:42:58 -08:00
ValueLatticeTest.cpp [ValueLattice] Update markConstantRange to return false equal ranges. 2020-02-15 22:06:55 +01:00
ValueTrackingTest.cpp isBytewiseValue checks ConstantVector element by element 2019-07-12 22:37:55 +00:00
VectorFunctionABITest.cpp [llvm][VectorUtils] Tweak VFShape for scalable vector functions. 2020-01-30 05:53:56 +00:00
VectorUtilsTest.cpp [Analysis] add query to get splat value from array of ints 2020-02-05 14:55:02 -05:00