Commit Graph

5 Commits

Author SHA1 Message Date
Luis Marques 85abf858b2 [RISCV] Switch to the Machine Scheduler
Most of the test changes are trivial instruction reorderings and differing
register allocations, without any obvious performance impact.

Differential Revision: https://reviews.llvm.org/D66973

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372106 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-17 11:15:35 +00:00
Luis Marques 3049bc0fef Revert Patch from Phabricator
This reverts r372092 (git commit e38695a0255c9e7b53639f349f8101bae1ce5c04)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372104 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-17 10:52:09 +00:00
Luis Marques 955b80686a Patch from Phabricator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@372092 91177308-0d34-0410-b5e6-96231b3b80d8
2019-09-17 09:43:08 +00:00
Shiva Chen c663475c7b [RISCV] Custom legalize i32 operations for RV64 to reduce signed extensions
Differential Revision: https://reviews.llvm.org/D65434

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367960 91177308-0d34-0410-b5e6-96231b3b80d8
2019-08-06 00:24:00 +00:00
Alex Bradbury d580c5bced [RISCV] Optimize emission of SELECT sequences
This patch optimizes the emission of a sequence of SELECTs with the same
condition, avoiding the insertion of unnecessary control flow. Such a sequence
often occurs when a SELECT of values wider than XLEN is legalized into two
SELECTs with legal types. We have identified several use cases where the
SELECTs could be interleaved with other instructions. Therefore, we extend the
sequence to include non-SELECT instructions if we are able to detect that the
non-SELECT instructions do not impact the optimization.

This patch supersedes https://reviews.llvm.org/D59096, which attempted to
address this issue by introducing a new SelectionDAG node. Hat tip to Eli
Friedman for his feedback on how to best handle this issue.

Differential Revision: https://reviews.llvm.org/D59355
Patch by Luís Marques.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356741 91177308-0d34-0410-b5e6-96231b3b80d8
2019-03-22 10:45:03 +00:00