summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
diff options
context:
space:
mode:
authorStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>2017-08-04 06:58:42 +0000
committerStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>2017-08-04 06:58:42 +0000
commit6c7a8d0b5f971fde03d98de53adc1db48120523e (patch)
tree12a167eb3b299a74cb9ca776f22b541832a64ea8 /llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
parent8e72a07efecb55e023b1ba3a3d754d3eb14540be (diff)
downloadbcm5719-llvm-6c7a8d0b5f971fde03d98de53adc1db48120523e.tar.gz
bcm5719-llvm-6c7a8d0b5f971fde03d98de53adc1db48120523e.zip
[AMDGPU] Preserve inverted bit in SI_IF in presence of SI_KILL
In case if SI_KILL is in between of the SI_IF and SI_END_CF we need to preserve the bits actually flipped by if rather then restoring the original mask. Differential Revision: https://reviews.llvm.org/D36299 llvm-svn: 310031
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/skip-if-dead.ll')
-rw-r--r--llvm/test/CodeGen/AMDGPU/skip-if-dead.ll2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll b/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
index 0c052ae0a5d..099fb59d541 100644
--- a/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
+++ b/llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
@@ -202,6 +202,7 @@ exit:
; CHECK-LABEL: {{^}}test_kill_divergent_loop:
; CHECK: v_cmp_eq_u32_e32 vcc, 0, v0
; CHECK-NEXT: s_and_saveexec_b64 [[SAVEEXEC:s\[[0-9]+:[0-9]+\]]], vcc
+; CHECK-NEXT: s_xor_b64 [[SAVEEXEC]], exec, [[SAVEEXEC]]
; CHECK-NEXT: ; mask branch [[EXIT:BB[0-9]+_[0-9]+]]
; CHECK-NEXT: s_cbranch_execz [[EXIT]]
@@ -336,6 +337,7 @@ bb7: ; preds = %bb4
; CHECK-LABEL: {{^}}if_after_kill_block:
; CHECK: ; BB#0:
; CHECK: s_and_saveexec_b64
+; CHECK: s_xor_b64
; CHECK-NEXT: mask branch [[BB4:BB[0-9]+_[0-9]+]]
; CHECK: v_cmpx_le_f32_e32 vcc, 0,
OpenPOWER on IntegriCloud