llvm-project/llvm/test/Analysis
Charlie Turner 7968b981bf [ARM] Don't pessimize i32 vselect.
The underlying issues surrounding codegen for 32-bit vselects have been resolved. The pessimistic costs for 64-bit vselects remain due to the bad
scalarization that is still happening there.

I tested this on A57 in T32, A32 and A64 modes. I saw no regressions, and some improvements.

From my benchmarks, I saw these improvements in A57 (T32)
spec.cpu2000.ref.177_mesa 5.95%
lnt.SingleSource/Benchmarks/Shootout/strcat 12.93%
lnt.MultiSource/Benchmarks/MiBench/telecomm-CRC32/telecomm-CRC32 11.89%

I also measured A57 A32, A53 T32 and A9 T32 and found no performance regressions. I see much bigger wins in third-party benchmarks with this change

Differential Revision: http://reviews.llvm.org/D14743

llvm-svn: 253349
2015-11-17 17:25:15 +00:00
..
AssumptionCache [PM] Actually add the new pass manager support for the assumption cache. 2015-01-22 21:53:09 +00:00
BasicAA Sort the enums in Attributes.h in case insensitive alphabetical order. 2015-11-11 02:11:46 +00:00
BlockFrequencyInfo Use fixed-point representation for BranchProbability. 2015-09-25 23:09:59 +00:00
BranchProbabilityInfo Use fixed-point representation for BranchProbability. 2015-09-25 23:09:59 +00:00
CFLAliasAnalysis [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
CallGraph [CallGraph] Given -print-callgraph a stable printing order. 2015-06-19 23:20:31 +00:00
CostModel [ARM] Don't pessimize i32 vselect. 2015-11-17 17:25:15 +00:00
Delinearization [SCEV] Mark AddExprs as nsw or nuw if legal 2015-10-22 19:57:19 +00:00
DemandedBits Compute demanded bits for icmp instructions 2015-10-08 12:40:06 +00:00
DependenceAnalysis [SCEV] Consistently Handle Expressions That Cannot Be Divided 2015-09-10 18:12:47 +00:00
DivergenceAnalysis/NVPTX Divergence analysis for GPU programs 2015-04-10 05:03:50 +00:00
Dominators Move the personality function from LandingPadInst to Function 2015-06-17 20:52:32 +00:00
GlobalsModRef Add newline to test. NFC. 2015-10-28 12:30:08 +00:00
LazyCallGraph [LazyCallGraph] Port test case from r240039 to LCG. 2015-07-02 02:03:58 +00:00
Lint [WinEH] Delete the old landingpad implementation of Windows EH 2015-10-09 23:34:53 +00:00
LoopAccessAnalysis Fix LoopAccessAnalysis when potentially nullptr check are involved 2015-11-05 05:49:43 +00:00
LoopInfo [PM] Port LoopInfo to the new pass manager, adding both a LoopAnalysis 2015-01-20 10:58:50 +00:00
MemoryDependenceAnalysis [MDA] change BlockScanLimit into a command line option. 2015-07-21 21:50:39 +00:00
PostDominators FileCheck-ize tests. 2013-08-22 00:51:19 +00:00
RegionInfo
ScalarEvolution [SCEV] Fix PR25369 2015-11-02 02:06:01 +00:00
ScopedNoAliasAA [Testsuite] Renumber metadata in ScopedNoAliasAA test to match CHECK lines 2015-05-11 09:10:14 +00:00
TypeBasedAliasAnalysis Revert "Revert "[FunctionAttrs] Identify norecurse functions"" 2015-11-12 10:55:20 +00:00
ValueTracking [ValueTracking] Use !range metadata more aggressively in KnownBits 2015-10-28 03:20:15 +00:00