diff options
author | Vincent Lejeune <vljn@ovi.com> | 2013-04-03 18:24:47 +0000 |
---|---|---|
committer | Vincent Lejeune <vljn@ovi.com> | 2013-04-03 18:24:47 +0000 |
commit | c3d3f9b66ec4a5abf6bf82f32f62e09fc1089def (patch) | |
tree | 5e9fef31d90e646fd7bf62febab3f92fabb18348 /llvm/lib | |
parent | 5e6d20524a1f77f9c24e1b06d0dcb6d5c2d2b874 (diff) | |
download | bcm5719-llvm-c3d3f9b66ec4a5abf6bf82f32f62e09fc1089def.tar.gz bcm5719-llvm-c3d3f9b66ec4a5abf6bf82f32f62e09fc1089def.zip |
R600: Fix last ALU of a clause being emitted in a separate clause
llvm-svn: 178675
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/R600/R600EmitClauseMarkers.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp b/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp index 06cf8ac6c42..3fdc678b9ef 100644 --- a/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp +++ b/llvm/lib/Target/R600/R600EmitClauseMarkers.cpp @@ -187,6 +187,8 @@ private: continue; if (!isALU(I)) break; + if (AluInstCount > TII->getMaxAlusPerClause()) + break; if (I->getOpcode() == AMDGPU::PRED_X) { if (TII->getFlagOp(I).getImm() & MO_FLAG_PUSH) PushBeforeModifier = true; @@ -201,8 +203,6 @@ private: !SubstituteKCacheBank(I, KCacheBanks)) break; AluInstCount += OccupiedDwords(I); - if (AluInstCount > TII->getMaxAlusPerClause()) - break; } unsigned Opcode = PushBeforeModifier ? AMDGPU::CF_ALU_PUSH_BEFORE : AMDGPU::CF_ALU; |