llvm-project/llvm/test/Analysis
Florian Hahn 1ccc49924a [AArch64] Add getCFInstrCost, treat branches as free for throughput.
D79164/2596da31740f changed getCFInstrCost to return 1 per default.
AArch64 did not have its own implementation, hence the throughput cost
of CFI instructions is overestimated. On most cores, most branches should
be predicated and essentially free throughput wise.

This restores a 9% performance regression on a SPEC2006 benchmark on
AArch64 with -O3 LTO & PGO.

This patch effectively restores pre 2596da3174 behavior for AArch64
and undoes the AArch64 test changes of the patch.

Reviewers: samparker, dmgreen, anemet

Reviewed By: samparker

Differential Revision: https://reviews.llvm.org/D82755
2020-06-30 20:34:04 +01:00
..
AliasSet [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
AssumptionCache
BasicAA [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
BlockFrequencyInfo
BranchProbabilityInfo Extend InvokeInst !prof branch_weights metadata to unwind branches 2020-06-04 15:37:15 +07:00
CFLAliasAnalysis [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
CallGraph [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
ConstantFolding [IR] Prefer scalar type for struct indexes in GEP constant expressions. 2020-06-23 16:14:36 -07:00
CostModel [AArch64] Add getCFInstrCost, treat branches as free for throughput. 2020-06-30 20:34:04 +01:00
DDG [DDG] Data Dependence Graph - Graph Simplification 2020-02-19 13:41:51 -05:00
Delinearization [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
DemandedBits
DependenceAnalysis [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
DivergenceAnalysis [DA] conservatively mark the join of every divergent branch 2020-06-18 17:39:20 +05:30
DominanceFrontier IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
Dominators
GlobalsModRef [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
IVUsers
LazyCallGraph [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
LazyValueAnalysis [LVI] Don't require DominatorTree in LVI (NFC) 2020-05-19 20:21:46 +02:00
LegacyDivergenceAnalysis Resubmit: [DA][TTI][AMDGPU] Add option to select GPUDA with TTI 2020-01-24 10:39:40 -08:00
Lint [Lint] Permit aliasing noalias readonly arguments 2019-04-23 23:43:47 +00:00
LoopAccessAnalysis [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
LoopCacheAnalysis/PowerPC [LoopCacheAnalysis]: Add support for negative stride 2020-02-10 13:22:35 -05:00
LoopInfo
LoopNestAnalysis [LoopNest]: Analysis to discover properties of a loop nest. 2020-03-03 18:25:19 +00:00
MemoryDependenceAnalysis [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
MemorySSA [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
MustExecute Infer alignment of unmarked loads in IR/bitcode parsing. 2020-05-14 13:03:50 -07:00
PhiValues
PostDominators
ProfileSummary
RegionInfo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
ScalarEvolution [NFC][ScalarEvolution] Add a test showing SCEV failure to recognize 'urem' 2020-06-28 20:35:02 +03:00
ScopedNoAliasAA [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
StackSafetyAnalysis [StackSafety] Check variable lifetime 2020-06-22 03:45:29 -07:00
TypeBasedAliasAnalysis [BasicAA] Rename -disable-basicaa to -disable-basic-aa to be consistent with the canonical name "basic-aa" 2020-06-26 20:55:44 -07:00
ValueTracking [Tests] Migrate a number of tests to gc-live bundle representation 2020-06-05 16:44:04 -07:00
alias-analysis-uses.ll