Krzysztof Parzyszek
5f7ba9a74c
[Hexagon] Always generate mux out of predicated transfers if possible
...
HexagonGenMux would collapse pairs of predicated transfers if it assumed
that the predicated .new forms cannot be created. Turns out that generating
mux is preferable in almost all cases.
Introduce an option -hexagon-gen-mux-threshold that controls the minimum
distance between the instruction defining the predicate and the later of
the two transfers. If the distance is closer than the threshold, mux will
not be generated. Set the threshold to 0 by default.
llvm-svn: 328346
2018-03-23 18:43:09 +00:00
Krzysztof Parzyszek
7cfe7cbccc
[Hexagon] Express calling conventions via .td file instead of hand-coding
...
Additionally, simplify the rest of the argument/parameter lowering code.
llvm-svn: 324737
2018-02-09 15:30:02 +00:00
Krzysztof Parzyszek
5f4dedffd4
[Hexagon] Fix testcase accidentally broken by r296645
...
llvm-svn: 296647
2017-03-01 17:53:42 +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
Krzysztof Parzyszek
c05dff1792
Expand MUX instructions early on Hexagon
...
This time with all files included.
llvm-svn: 233696
2015-03-31 13:35:12 +00:00
Krzysztof Parzyszek
8c4fd2bdeb
Revert 233694. Weak SVN-fu.
...
llvm-svn: 233695
2015-03-31 13:32:32 +00:00
Krzysztof Parzyszek
261d62c862
Expand MUX instructions early on Hexagon
...
llvm-svn: 233694
2015-03-31 13:29:17 +00:00
Colin LeMahieu
30dcb232b0
[Hexagon] Updating predicate register transfers and adding tstbit to allow select selection. Updating ll tests with predicate transfers that previously had nop encodings.
...
llvm-svn: 223800
2014-12-09 18:16:49 +00:00
Colin LeMahieu
f7f156ffc3
[Hexagon] [NFC] Adding trailing whitespace to test files.
...
llvm-svn: 222785
2014-11-25 20:22:24 +00:00
Colin LeMahieu
e83bc7476f
[Hexagon] Adding C2_mux instruction.
...
llvm-svn: 222784
2014-11-25 20:20:09 +00:00