summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2016-07-15 00:58:15 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2016-07-15 00:58:15 +0000
commitb91805ea2b3f8114e09bc0bb61b1a65f4cf1cecc (patch)
tree53532db689de66be200972719f5e56ca3f788d41 /llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
parentfa5a86a40373797c8f10bc2d57e60064b1623db1 (diff)
downloadbcm5719-llvm-b91805ea2b3f8114e09bc0bb61b1a65f4cf1cecc.tar.gz
bcm5719-llvm-b91805ea2b3f8114e09bc0bb61b1a65f4cf1cecc.zip
AMDGPU: Fix not expanding control flow after some kill blocks
Also stop trying to insert skip blocks at end_cf. This was inserting them at the end of the block which doesn't make sense. The skip should be inserted at the beginning of the block right after the end cf. Just remove this for now since no tests seem to stress this and I think this can be handled more generally later. Fixes bug 28550 llvm-svn: 275510
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp b/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
index d82f26ac33a..ee1d5dae70b 100644
--- a/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
+++ b/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
@@ -748,13 +748,9 @@ bool SILowerControlFlow::runOnMachineFunction(MachineFunction &MF) {
case AMDGPU::SI_END_CF:
if (--Depth == 0 && HaveKill) {
HaveKill = false;
-
- if (skipIfDead(MI, *NextBB)) {
- NextBB = std::next(BI);
- BE = MF.end();
- Next = MBB.end();
- }
+ // TODO: Insert skip if exec is 0?
}
+
EndCf(MI);
break;
@@ -763,7 +759,6 @@ bool SILowerControlFlow::runOnMachineFunction(MachineFunction &MF) {
if (skipIfDead(MI, *NextBB)) {
NextBB = std::next(BI);
BE = MF.end();
- Next = MBB.end();
}
} else
HaveKill = true;
OpenPOWER on IntegriCloud