[PATCH] R600/SI: Fix various operand legalization bugs

Matt Arsenault arsenm2 at gmail.com
Tue Sep 23 19:42:51 PDT 2014


On Sep 23, 2014, at 6:52 PM, Tom Stellard <tom at stellard.net> wrote:

> On Tue, Sep 23, 2014 at 10:55:26AM -0700, Matt Arsenault wrote:
>> Hi,
>> 
>> This set of patches works towards removing SIISelLowering::legalizeOperands in favor of a post-isel hook which uses SIInstrInfo::legalizeOperands, which requires most of the same logic anyway. As in intermediate step, keep most of the original code in place for immediate folding where it is. This also fixes the overly strict enforcement of the 1 SGPR use constraint, which has been preventing f64 fdiv from working correctly. 
>> 
> 
> Hi,
> 
> Patches 1,2,5,and 6 look good to me.  I will try to review the others
> when I have more time.
> 
> -Tom
> 



New versions which fix test failures after r218334 and clean up a few things. Only one was a real failure from the verifier now counting implicit uses of VCC as the constant bus use; the rest were random changes that required test updates.




-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-R600-SI-Fix-using-wrong-operand-indices-when-commuti.patch
Type: application/octet-stream
Size: 4319 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-R600-SI-Don-t-assert-on-exotic-operand-types.patch
Type: application/octet-stream
Size: 1028 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-R600-SI-Don-t-move-operands-that-are-required-to-be-.patch
Type: application/octet-stream
Size: 3815 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-R600-SI-Implement-findCommutedOpIndices.patch
Type: application/octet-stream
Size: 2945 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-R600-SI-Partially-move-operand-legalization-to-post-.patch
Type: application/octet-stream
Size: 10924 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-R600-SI-Allow-same-SGPR-to-be-used-for-multiple-oper.patch
Type: application/octet-stream
Size: 7974 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0005.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0007-R600-SI-Move-finding-SGPR-operand-to-move-to-separat.patch
Type: application/octet-stream
Size: 5872 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0006.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0008-R600-SI-Add-a-note-about-the-order-of-the-operands-t.patch
Type: application/octet-stream
Size: 1229 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0007.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0009-R600-SI-Add-strict-check-lines-to-div_scale-tests.patch
Type: application/octet-stream
Size: 16508 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0008.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0010-R600-SI-Use-break-instead-of-continue.patch
Type: application/octet-stream
Size: 854 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140923/1c0d4916/attachment-0009.obj>


More information about the llvm-commits mailing list