llvm-6502/test/Analysis
Tim Northover 0c245b69f7 X86: add costs for 64-bit vector ext/trunc & rebalance
The most important part of this is probably adding any cost at all for
operations like zext <8 x i8> to <8 x i32>. Before they were being
recorded as extremely costly (24, I believe) which made LLVM fall back
on a 4-wide vectorisation of a loop.

It also rebalances the values for sext, zext and trunc. Lacking any
other sane metric that might work across CPU microarchitectures I went
for instructions. This seems to be in reasonable accord with the rest
of the table (sitofp, ...) though no doubt at least one value is
sub-optimal for some bizarre reason.

Finally, separate AVX and AVX2 values are provided where appropriate.
The CodeGen is quite different in many cases.

rdar://problem/15981990

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200928 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-06 18:18:36 +00:00
..
BasicAA
BlockFrequencyInfo
BranchProbabilityInfo
CallGraph
CostModel X86: add costs for 64-bit vector ext/trunc & rebalance 2014-02-06 18:18:36 +00:00
Delinearization
DependenceAnalysis
Dominators
GlobalsModRef
LazyCallGraph [PM] Add a new "lazy" call graph analysis pass for the new pass manager. 2014-02-06 04:37:03 +00:00
Lint
LoopInfo
MemoryDependenceAnalysis
PostDominators
RegionInfo
ScalarEvolution Fix crasher introduced in r200203 and caught by a libc++ buildbot. Don't assume that getMulExpr returns a SCEVMulExpr, it may have simplified it to something else! 2014-01-27 10:47:44 +00:00
TypeBasedAliasAnalysis Fix known typos 2014-01-24 17:20:08 +00:00