mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-16 11:30:51 +00:00
5733100450
Summary: Some optimizations such as jump threading and loop unswitching can negatively affect performance when applied to divergent branches. The divergence analysis added in this patch conservatively estimates which branches in a GPU program can diverge. This information can then help LLVM to run certain optimizations selectively. Test Plan: test/Analysis/DivergenceAnalysis/NVPTX/diverge.ll Reviewers: resistor, hfinkel, eliben, meheff, jholewinski Subscribers: broune, bjarke.roune, madhur13490, tstellarAMD, dberlin, echristo, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D8576 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234567 91177308-0d34-0410-b5e6-96231b3b80d8
71 lines
1.5 KiB
CMake
71 lines
1.5 KiB
CMake
add_llvm_library(LLVMAnalysis
|
|
AliasAnalysis.cpp
|
|
AliasAnalysisCounter.cpp
|
|
AliasAnalysisEvaluator.cpp
|
|
AliasDebugger.cpp
|
|
AliasSetTracker.cpp
|
|
Analysis.cpp
|
|
AssumptionCache.cpp
|
|
BasicAliasAnalysis.cpp
|
|
BlockFrequencyInfo.cpp
|
|
BlockFrequencyInfoImpl.cpp
|
|
BranchProbabilityInfo.cpp
|
|
CFG.cpp
|
|
CFGPrinter.cpp
|
|
CFLAliasAnalysis.cpp
|
|
CGSCCPassManager.cpp
|
|
CaptureTracking.cpp
|
|
CostModel.cpp
|
|
CodeMetrics.cpp
|
|
ConstantFolding.cpp
|
|
Delinearization.cpp
|
|
DependenceAnalysis.cpp
|
|
DivergenceAnalysis.cpp
|
|
DomPrinter.cpp
|
|
DominanceFrontier.cpp
|
|
IVUsers.cpp
|
|
InstCount.cpp
|
|
InstructionSimplify.cpp
|
|
Interval.cpp
|
|
IntervalPartition.cpp
|
|
LazyCallGraph.cpp
|
|
LazyValueInfo.cpp
|
|
LibCallAliasAnalysis.cpp
|
|
LibCallSemantics.cpp
|
|
Lint.cpp
|
|
Loads.cpp
|
|
LoopAccessAnalysis.cpp
|
|
LoopInfo.cpp
|
|
LoopPass.cpp
|
|
MemDepPrinter.cpp
|
|
MemDerefPrinter.cpp
|
|
MemoryBuiltins.cpp
|
|
MemoryDependenceAnalysis.cpp
|
|
ModuleDebugInfoPrinter.cpp
|
|
NoAliasAnalysis.cpp
|
|
PHITransAddr.cpp
|
|
PostDominators.cpp
|
|
PtrUseVisitor.cpp
|
|
RegionInfo.cpp
|
|
RegionPass.cpp
|
|
RegionPrinter.cpp
|
|
ScalarEvolution.cpp
|
|
ScalarEvolutionAliasAnalysis.cpp
|
|
ScalarEvolutionExpander.cpp
|
|
ScalarEvolutionNormalization.cpp
|
|
SparsePropagation.cpp
|
|
TargetLibraryInfo.cpp
|
|
TargetTransformInfo.cpp
|
|
Trace.cpp
|
|
TypeBasedAliasAnalysis.cpp
|
|
ScopedNoAliasAA.cpp
|
|
ValueTracking.cpp
|
|
|
|
ADDITIONAL_HEADER_DIRS
|
|
${LLVM_MAIN_INCLUDE_DIR}/llvm/Analysis
|
|
)
|
|
|
|
add_dependencies(LLVMAnalysis intrinsics_gen)
|
|
|
|
add_subdirectory(IPA)
|