summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-05-19 18:20:25 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-05-19 18:20:25 +0000
commit4318ea354a075aa34b8dce3ca05a65c69823b1da (patch)
treed31b190605b49bbe3e7ffaeacf408236fa0904d0 /llvm/lib/Target
parentfb8978fc6a5230be264092c124b980024a32a666 (diff)
downloadbcm5719-llvm-4318ea354a075aa34b8dce3ca05a65c69823b1da.tar.gz
bcm5719-llvm-4318ea354a075aa34b8dce3ca05a65c69823b1da.zip
AMDGPU: Also look for s_cbranch_vccz
llvm-svn: 270091
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp b/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
index da7cb5f63b9..68609946f3b 100644
--- a/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
+++ b/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
@@ -158,7 +158,8 @@ bool SILowerControlFlow::shouldSkip(MachineBasicBlock *From,
// When a uniform loop is inside non-uniform control flow, the branch
// leaving the loop might be an S_CBRANCH_VCCNZ, which is never taken
// when EXEC = 0. We should skip the loop lest it becomes infinite.
- if (I->getOpcode() == AMDGPU::S_CBRANCH_VCCNZ)
+ if (I->getOpcode() == AMDGPU::S_CBRANCH_VCCNZ ||
+ I->getOpcode() == AMDGPU::S_CBRANCH_VCCZ)
return true;
if (++NumInstr >= SkipThreshold)
OpenPOWER on IntegriCloud