aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-01-23 18:49:31 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-01-23 18:49:31 +0000
commit805890b252e567d200079702ec0d7250ecaebd6d (patch)
tree44ab216c1929c5d3abe321caf746d2f810195014 /llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
parent8cce9bdf179c29c3652d4862d6317d7e2e7a411c (diff)
downloadllvm-805890b252e567d200079702ec0d7250ecaebd6d.zip
llvm-805890b252e567d200079702ec0d7250ecaebd6d.tar.gz
llvm-805890b252e567d200079702ec0d7250ecaebd6d.tar.bz2
R600: Correctly handle vertex fetch clauses the precede ENDIFs
The control flow finalizer would sometimes use an ALU_POP_AFTER instruction before the vetex fetch clause instead of using a POP instruction after it. llvm-svn: 199917
Diffstat (limited to 'llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp')
-rw-r--r--llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp b/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
index 470ff2e..f74bef3 100644
--- a/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
+++ b/llvm/lib/Target/R600/R600ControlFlowFinalizer.cpp
@@ -501,6 +501,7 @@ public:
DEBUG(dbgs() << CfCount << ":"; I->dump(););
FetchClauses.push_back(MakeFetchClause(MBB, I));
CfCount++;
+ LastAlu.back() = 0;
continue;
}