Arnold Schwaighofer
98f1012f9b
ARM cost model: Penalize insertelement into D subregisters
...
Swift has a renaming dependency if we load into D subregisters. We don't have a
way of distinguishing between insertelement operations of values from loads and
other values. Therefore, we are pessimistic for now (The performance problem
showed up in example 14 of gcc-loops).
radar://13096933
llvm-svn: 174300
2013-02-04 02:52:05 +00:00
Hal Finkel
4e5ca9e578
Initial implementation of PPCTargetTransformInfo
...
This provides a place to add customized operation cost information and
control some other target-specific IR-level transformations.
The only non-trivial logic in this checkin assigns a higher cost to
unaligned loads and stores (covered by the included test case).
llvm-svn: 173520
2013-01-25 23:05:59 +00:00
Nadav Rotem
b1615b1ac4
Make opt grab the triple from the module and use it to initialize the target machine.
...
llvm-svn: 171341
2013-01-01 08:00:32 +00:00
Nadav Rotem
aa92ea4f12
We are not ready to estimate the cost of integer expansions based on the number of parts. This test is too noisy.
...
llvm-svn: 170999
2012-12-23 09:11:07 +00:00
Nadav Rotem
6d4fdd6d2c
Improve the X86 cost model for loads and stores.
...
llvm-svn: 170830
2012-12-21 01:33:59 +00:00
Jakub Staszak
338863a546
Reverse order of checking SSE level when calculating compare cost, so we check
...
AVX2 before AVX.
llvm-svn: 170464
2012-12-18 22:57:56 +00:00
Nadav Rotem
0a471ea66c
Cost Model: change the default cost of control flow instructions (br / ret / ...) to zero.
...
llvm-svn: 169423
2012-12-05 21:21:26 +00:00
Nadav Rotem
f036ca466e
CostModel: add another known vector trunc optimization.
...
llvm-svn: 167488
2012-11-06 21:17:17 +00:00
Nadav Rotem
0914f0b262
Cost Model: add tables for some avx type-conversion hacks.
...
llvm-svn: 167480
2012-11-06 19:33:53 +00:00
Nadav Rotem
c378a8067d
CostModel: Add tables for the common x86 compares.
...
llvm-svn: 167421
2012-11-05 23:48:20 +00:00
Nadav Rotem
ae79765676
Code Model: Improve the accuracy of the zext/sext/trunc vector cost estimation.
...
llvm-svn: 167412
2012-11-05 22:20:53 +00:00
Nadav Rotem
856ffa6677
Cost Model: Normalize the insert/extract index when splitting types
...
llvm-svn: 167402
2012-11-05 21:12:13 +00:00
Nadav Rotem
020be9dc29
Cost Model: teach the cost model about expanding integers.
...
llvm-svn: 167401
2012-11-05 21:11:10 +00:00
Nadav Rotem
7411623fd8
Implement the cost of abnormal x86 instruction lowering as a table.
...
llvm-svn: 167395
2012-11-05 19:32:46 +00:00
Nadav Rotem
c2345cbe73
X86 CostModel: Add support for a some of the common arithmetic instructions for SSE4, AVX and AVX2.
...
llvm-svn: 167347
2012-11-03 00:39:56 +00:00
Nadav Rotem
23848f8f1d
Add a stub for the x86 cost model impl. Implement a basic cost rule for inserting/extracting from XMM registers.
...
llvm-svn: 167333
2012-11-02 23:27:16 +00:00
Nadav Rotem
13da94734c
CostModel: add support for Vector Insert and Extract.
...
llvm-svn: 167329
2012-11-02 22:31:56 +00:00
Nadav Rotem
a6b91ac307
Add a cost model analysis that allows us to estimate the cost of IR-level instructions.
...
llvm-svn: 167324
2012-11-02 21:48:17 +00:00