File tree Expand file tree Collapse file tree 2 files changed +10
-7
lines changed Expand file tree Collapse file tree 2 files changed +10
-7
lines changed Original file line number Diff line number Diff line change @@ -4010,7 +4010,8 @@ bool SIInstrInfo::hasUnwantedEffectsWhenEXECEmpty(const MachineInstr &MI) const
40104010 //
40114011 // However, executing them with EXEC = 0 causes them to operate on undefined
40124012 // data, which we avoid by returning true here.
4013- if (Opcode == AMDGPU::V_READFIRSTLANE_B32)
4013+ if (Opcode == AMDGPU::V_READFIRSTLANE_B32 ||
4014+ Opcode == AMDGPU::V_READLANE_B32 || Opcode == AMDGPU::V_WRITELANE_B32)
40144015 return true ;
40154016
40164017 return false ;
Original file line number Diff line number Diff line change @@ -130,12 +130,13 @@ body: |
130130
131131---
132132
133- name : dont_skip_writelane_b32
133+ name : need_skip_writelane_b32
134134body : |
135- ; CHECK-LABEL: name: dont_skip_writelane_b32
135+ ; CHECK-LABEL: name: need_skip_writelane_b32
136136 ; CHECK: bb.0:
137- ; CHECK-NEXT: successors: %bb.1(0x40000000)
137+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
138138 ; CHECK-NEXT: {{ $}}
139+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
139140 ; CHECK-NEXT: {{ $}}
140141 ; CHECK-NEXT: bb.1:
141142 ; CHECK-NEXT: successors: %bb.2(0x80000000)
@@ -159,12 +160,13 @@ body: |
159160 ...
160161
161162---
162- name : dont_skip_readlane_b32
163+ name : need_skip_readlane_b32
163164body : |
164- ; CHECK-LABEL: name: dont_skip_readlane_b32
165+ ; CHECK-LABEL: name: need_skip_readlane_b32
165166 ; CHECK: bb.0:
166- ; CHECK-NEXT: successors: %bb.1(0x40000000)
167+ ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000)
167168 ; CHECK-NEXT: {{ $}}
169+ ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec
168170 ; CHECK-NEXT: {{ $}}
169171 ; CHECK-NEXT: bb.1:
170172 ; CHECK-NEXT: successors: %bb.2(0x80000000)
You can’t perform that action at this time.
0 commit comments