Matt Arsenault
d222be0dd7
R600/SI: Use s_movk_i32
...
llvm-svn: 221922
2014-11-13 20:44:23 +00:00
Matt Arsenault
b82c7f40b2
R600/SI: Also check for FPImm literal constants
...
llvm-svn: 220067
2014-10-17 18:00:50 +00:00
Matt Arsenault
2d0382bc47
R600/SI: Simplify code with hasModifiersSet
...
llvm-svn: 220065
2014-10-17 18:00:45 +00:00
Matt Arsenault
c43bde1e40
R600/SI: Cleanup code with ChangeToFPImmediate
...
llvm-svn: 220063
2014-10-17 18:00:41 +00:00
Matt Arsenault
b8b59b2699
Fix typo
...
llvm-svn: 218223
2014-09-21 17:27:32 +00:00
Matt Arsenault
ddc444fff3
Fix typo
...
llvm-svn: 217892
2014-09-16 18:00:23 +00:00
Matt Arsenault
e3bc7a9621
Fix typo
...
llvm-svn: 217730
2014-09-13 19:58:27 +00:00
Craig Topper
57c93cf3ef
Remove 'virtual' keyword from methods markedwith 'override' keyword.
...
llvm-svn: 216823
2014-08-30 16:48:34 +00:00
Eric Christopher
67c04e77e5
Have MachineFunction cache a pointer to the subtarget to make lookups
...
shorter/easier and have the DAG use that to do the same lookup. This
can be used in the future for TargetMachine based caching lookups from
the MachineFunction easily.
Update the MIPS subtarget switching machinery to update this pointer
at the same time it runs.
llvm-svn: 214838
2014-08-05 02:39:49 +00:00
Eric Christopher
99307e99a2
Remove the TargetMachine forwards for TargetSubtargetInfo based
...
information and update all callers. No functional change.
llvm-svn: 214781
2014-08-04 21:25:23 +00:00
Tom Stellard
db07c33258
R600/SI: Remove leftover debugging code
...
llvm-svn: 214569
2014-08-01 21:51:05 +00:00
Tom Stellard
827479f1ca
R600/SI: Do abs/neg folding with ComplexPatterns
...
Abs/neg folding has moved out of foldOperands and into the instruction
selection phase using complex patterns. As a consequence of this
change, we now prefer to select the 64-bit encoding for most
instructions and the modifier operands have been dropped from
integer VOP3 instructions.
llvm-svn: 214467
2014-08-01 00:32:39 +00:00
Tom Stellard
313fcff563
R600/SI: Fold immediates when shrinking instructions
...
This will prevent us from using extra MOV instructions once we prefer
selecting 64-bit instructions.
llvm-svn: 214464
2014-08-01 00:32:33 +00:00
Tom Stellard
3ac3ae86a9
R600/SI: Fix incorrect commute operation in shrink instructions pass
...
We were commuting the instruction by still shrinking it using the
original opcode.
NOTE: This is a candidate for the 3.5 branch.
llvm-svn: 214463
2014-08-01 00:32:28 +00:00
Tom Stellard
7c4b3a94b6
R600/SI: Add instruction shrinking pass
...
This pass converts 64-bit instructions to 32-bit when possible.
llvm-svn: 213561
2014-07-21 16:55:33 +00:00