mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
b85949d044
This patch adds the ability to perform IPSCCP-like interprocedural analysis to the generic sparse propagation solver. The patch gives clients the ability to define their own custom LatticeKey types that the generic solver maps to custom LatticeVal types. The custom lattice keys can be used, for example, to distinguish among mappings for regular values, values returned from functions, and values stored in global variables. Clients are responsible for defining how to convert between LatticeKeys and LLVM Values by providing a specialization of the LatticeKeyInfo template. The added unit tests demonstrate how the generic solver can be used to perform a simplified version of interprocedural constant propagation. Differential Revision: https://reviews.llvm.org/D37353 llvm-svn: 315919
31 lines
604 B
CMake
31 lines
604 B
CMake
set(LLVM_LINK_COMPONENTS
|
|
Analysis
|
|
AsmParser
|
|
Core
|
|
Support
|
|
)
|
|
|
|
add_llvm_unittest(AnalysisTests
|
|
AliasAnalysisTest.cpp
|
|
AliasSetTrackerTest.cpp
|
|
BlockFrequencyInfoTest.cpp
|
|
BranchProbabilityInfoTest.cpp
|
|
CallGraphTest.cpp
|
|
CFGTest.cpp
|
|
CGSCCPassManagerTest.cpp
|
|
GlobalsModRefTest.cpp
|
|
ValueLatticeTest.cpp
|
|
LazyCallGraphTest.cpp
|
|
LoopInfoTest.cpp
|
|
MemoryBuiltinsTest.cpp
|
|
MemorySSA.cpp
|
|
OrderedBasicBlockTest.cpp
|
|
ProfileSummaryInfoTest.cpp
|
|
ScalarEvolutionTest.cpp
|
|
SparsePropagation.cpp
|
|
TargetLibraryInfoTest.cpp
|
|
TBAATest.cpp
|
|
UnrollAnalyzer.cpp
|
|
ValueTrackingTest.cpp
|
|
)
|