From 4318ea354a075aa34b8dce3ca05a65c69823b1da Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 19 May 2016 18:20:25 +0000 Subject: AMDGPU: Also look for s_cbranch_vccz llvm-svn: 270091 --- llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp') 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) -- cgit v1.2.3