Matt Arsenault
7784992999
R600/SI: Use s_movk_i32
...
llvm-svn: 221922
2014-11-13 20:44:23 +00:00
Matt Arsenault
e184482bf8
R600/SI: Also check for FPImm literal constants
...
llvm-svn: 220067
2014-10-17 18:00:50 +00:00
Matt Arsenault
8943d24949
R600/SI: Simplify code with hasModifiersSet
...
llvm-svn: 220065
2014-10-17 18:00:45 +00:00
Matt Arsenault
ffc5d5bbf0
R600/SI: Cleanup code with ChangeToFPImmediate
...
llvm-svn: 220063
2014-10-17 18:00:41 +00:00
Matt Arsenault
a9627ae97a
Fix typo
...
llvm-svn: 218223
2014-09-21 17:27:32 +00:00
Matt Arsenault
6652403c2d
Fix typo
...
llvm-svn: 217892
2014-09-16 18:00:23 +00:00
Matt Arsenault
5d26d04357
Fix typo
...
llvm-svn: 217730
2014-09-13 19:58:27 +00:00
Craig Topper
fd38cbebda
Remove 'virtual' keyword from methods markedwith 'override' keyword.
...
llvm-svn: 216823
2014-08-30 16:48:34 +00:00
Eric Christopher
fc6de428c8
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
d913448b38
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
d44c023b21
R600/SI: Remove leftover debugging code
...
llvm-svn: 214569
2014-08-01 21:51:05 +00:00
Tom Stellard
b4a313a76f
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
6407e1e632
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
86d12ebdbd
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
1aaad6970c
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