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 | 5417223f98145d8e2de442da10ace621cae613de (patch) | |
tree | 52a83e6ed19c167010cfd2f91b1b2cd6f031a09a /lib/Target | |
parent | b31b099a3722ad5b5d94ffe862ee92df51565b51 (diff) | |
download | external_llvm-5417223f98145d8e2de442da10ace621cae613de.zip external_llvm-5417223f98145d8e2de442da10ace621cae613de.tar.gz external_llvm-5417223f98145d8e2de442da10ace621cae613de.tar.bz2 |
R600: Fix last ALU of a clause being emitted in a separate clause
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178675 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/R600/R600EmitClauseMarkers.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/R600/R600EmitClauseMarkers.cpp b/lib/Target/R600/R600EmitClauseMarkers.cpp index 06cf8ac..3fdc678 100644 --- a/lib/Target/R600/R600EmitClauseMarkers.cpp +++ b/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; |