Colin LeMahieu
79ec06525e
[Hexagon] Making intrinsic tests agnostic to register allocation. Narrowing intrinsic parameters to appropriate width.
...
llvm-svn: 239634
2015-06-12 19:57:32 +00:00
Colin LeMahieu
1e9d1d768c
[Hexagon] Adding decoders for signed operands and ensuring all signed operand types disassemble correctly.
...
llvm-svn: 239477
2015-06-10 16:52:32 +00:00
Colin LeMahieu
be8c453d58
[Hexagon] Reapply r239097 with tests corrected for shuffling and duplexing.
...
llvm-svn: 239161
2015-06-05 16:00:11 +00:00
Colin LeMahieu
c40be85adc
Revert r239095 incorrect test tree.
...
llvm-svn: 239102
2015-06-04 21:32:42 +00:00
Colin LeMahieu
fc52c11d80
[Hexagon] Adding functionality for duplexing. Duplexing is a way to compress commonly used pairs of instructions in order to reduce code size. The test case duplex.ll normally would be 8 bytes, assign register to 0 and jump to link register. After duplexing this is only 4 bytes. This also tests the HexagonMCShuffler code path which is used to make sure duplexed instructions still follow slot requirements.
...
llvm-svn: 239095
2015-06-04 21:16:16 +00:00
Brendon Cahoon
55bdeb7bc7
[Hexagon] Use constant extenders to fix up hardware loops
...
Use a loop instruction with a constant extender for a hardware
loop instruction that is too far away from the start of the loop.
This is cheaper than changing the SA register value.
Differential Revision: http://reviews.llvm.org/D9262
llvm-svn: 235882
2015-04-27 14:16:43 +00:00
Krzysztof Parzyszek
a29622a8c5
Remove unused complex patterns for addressing modes on Hexagon.
...
llvm-svn: 232057
2015-03-12 16:44:50 +00:00
Krzysztof Parzyszek
6d5a4b5dcd
Eliminate constant-extender profitability checks from Hexagon isel
...
llvm-svn: 231992
2015-03-12 00:19:59 +00:00
Colin LeMahieu
4fd203d3e1
[Hexagon] Removing more V4 predicates since V4 is the required minimum.
...
llvm-svn: 228614
2015-02-09 21:56:37 +00:00
Colin LeMahieu
5149135369
[Hexagon] Simplifying some store patterns. Adding AddrGP addressing forms.
...
llvm-svn: 228220
2015-02-04 22:36:28 +00:00
Colin LeMahieu
987b0943c8
[Hexagon] Adding selection for GlobalAddress and converting [z/i]ext load patterns to make use of them.
...
llvm-svn: 228184
2015-02-04 20:38:01 +00:00
Eric Christopher
202f22bbda
Migrate HexagonISelDAGToDAG to setting a subtarget pointer during
...
runOnMachineFunction. Update all uses of the Subtarget accordingly.
llvm-svn: 227840
2015-02-02 19:22:03 +00:00
Colin LeMahieu
19ed07c75a
[Hexagon] Deleting a lot of old variants of intrinsics and updating references.
...
llvm-svn: 227338
2015-01-28 18:29:11 +00:00
Colin LeMahieu
9327bdad2f
[Hexagon] Converting remaining ALU32/ALU intrinsics.
...
llvm-svn: 226480
2015-01-19 18:33:58 +00:00
Colin LeMahieu
68b2e050f0
[Hexagon] Adding encoding for misc v4 instructions: boundscheck, tlbmatch, dcfetch.
...
llvm-svn: 225283
2015-01-06 19:03:20 +00:00
Colin LeMahieu
1445553474
[Hexagon] Adding dealloc_return encoding and absolute address stores.
...
llvm-svn: 225267
2015-01-06 16:15:15 +00:00
Colin LeMahieu
af1e5de141
[Hexagon] Adding classes and load unsigned byte instruction, updating usages.
...
llvm-svn: 224730
2014-12-22 21:20:03 +00:00
Colin LeMahieu
d9a00a9c38
[Hexagon] Adding doubleword multiplies with and without accumulation.
...
llvm-svn: 224293
2014-12-16 00:07:24 +00:00
Jyotsna Verma
5929cfc534
Move all operand definitions into HexagonOperands.td
...
llvm-svn: 169213
2012-12-04 05:00:31 +00:00
Jyotsna Verma
c86b3e1b26
Define unsigned const-ext predicates.
...
llvm-svn: 169149
2012-12-03 20:39:45 +00:00
Jyotsna Verma
6aba56e9d4
Removing unnecessary 'else' statement from the predicates defined in HexagonOperards.td.
...
llvm-svn: 169148
2012-12-03 20:14:38 +00:00
Jyotsna Verma
014dfe4de0
Define signed const-ext predicates.
...
llvm-svn: 169117
2012-12-03 06:54:50 +00:00
Jyotsna Verma
519b3856dd
Define signed const-ext immediate operands and their predicates.
...
llvm-svn: 168810
2012-11-28 20:58:14 +00:00
Jyotsna Verma
b5bb659d50
Fix comments in HexagonOperands.td.
...
llvm-svn: 168617
2012-11-26 21:56:51 +00:00
Jyotsna Verma
0df99bd2e4
Add new predicates for the immediate operands.
...
llvm-svn: 168451
2012-11-21 20:05:09 +00:00
Jyotsna Verma
3ec3a49432
Use one common 'let' expression to set PrintMethod for all immediate operands.
...
llvm-svn: 168449
2012-11-21 19:53:42 +00:00
Rafael Espindola
b90c5f12f0
Finish the renaming.
...
llvm-svn: 168437
2012-11-21 16:56:33 +00:00
Jyotsna Verma
6c0a3550c8
Renamed HexagonImmediates.td -> HexagonOperands.td.
...
llvm-svn: 168434
2012-11-21 16:28:18 +00:00