diff options
author | Sam Kolton <Sam.Kolton@amd.com> | 2017-05-18 12:12:03 +0000 |
---|---|---|
committer | Sam Kolton <Sam.Kolton@amd.com> | 2017-05-18 12:12:03 +0000 |
commit | ebfdaf7394da63cc14ad6f13ef981bdaf4459db6 (patch) | |
tree | ba158b35ec7dbc1e2691c0b359e51b120a09f180 /llvm/lib/CodeGen/MachineModuleInfo.cpp | |
parent | d19632fa162dedcd676abb9a13aa5552d9f8c5e8 (diff) | |
download | llvm-ebfdaf7394da63cc14ad6f13ef981bdaf4459db6.zip llvm-ebfdaf7394da63cc14ad6f13ef981bdaf4459db6.tar.gz llvm-ebfdaf7394da63cc14ad6f13ef981bdaf4459db6.tar.bz2 |
[AMDGPU] SDWA operands should not intersect with potential MIs
Summary:
There should be no intesection between SDWA operands and potential MIs. E.g.:
```
v_and_b32 v0, 0xff, v1 -> src:v1 sel:BYTE_0
v_and_b32 v2, 0xff, v0 -> src:v0 sel:BYTE_0
v_add_u32 v3, v4, v2
```
In that example it is possible that we would fold 2nd instruction into 3rd (v_add_u32_sdwa) and then try to fold 1st instruction into 2nd (that was already destroyed). So if SDWAOperand is also a potential MI then do not apply it.
Reviewers: vpykhtin, arsenm
Subscribers: kzhuravl, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye
Differential Revision: https://reviews.llvm.org/D32804
llvm-svn: 303347
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions