diff options
author | Vincent Lejeune <vljn@ovi.com> | 2013-04-03 16:24:04 +0000 |
---|---|---|
committer | Vincent Lejeune <vljn@ovi.com> | 2013-04-03 16:24:04 +0000 |
commit | 795ecc36692feedc62260a19a8655f4934758689 (patch) | |
tree | b77af40b0b7c975fb300a1e1773959f8949df9f2 /lib/Target/R600 | |
parent | 1629965964b0e5c786c16b5af15f1d53059183ed (diff) | |
download | external_llvm-795ecc36692feedc62260a19a8655f4934758689.zip external_llvm-795ecc36692feedc62260a19a8655f4934758689.tar.gz external_llvm-795ecc36692feedc62260a19a8655f4934758689.tar.bz2 |
R600: Consider KILLGT as an ALU instruction
Mesa does not override llvm behavior wrt KILLGT anymore so llvm
has to handle KILLGT on its own.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178664 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/R600')
-rw-r--r-- | lib/Target/R600/R600ControlFlowFinalizer.cpp | 1 | ||||
-rw-r--r-- | lib/Target/R600/R600EmitClauseMarkers.cpp | 6 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/Target/R600/R600ControlFlowFinalizer.cpp b/lib/Target/R600/R600ControlFlowFinalizer.cpp index bd87d74..5c30601 100644 --- a/lib/Target/R600/R600ControlFlowFinalizer.cpp +++ b/lib/Target/R600/R600ControlFlowFinalizer.cpp @@ -144,7 +144,6 @@ public: case AMDGPU::CF_ALU_PUSH_BEFORE: CurrentStack++; MaxStack = std::max(MaxStack, CurrentStack); - case AMDGPU::KILLGT: case AMDGPU::CF_ALU: CfCount++; break; diff --git a/lib/Target/R600/R600EmitClauseMarkers.cpp b/lib/Target/R600/R600EmitClauseMarkers.cpp index 7c7469a..bda3703 100644 --- a/lib/Target/R600/R600EmitClauseMarkers.cpp +++ b/lib/Target/R600/R600EmitClauseMarkers.cpp @@ -61,8 +61,6 @@ private: } bool isALU(const MachineInstr *MI) const { - if (MI->getOpcode() == AMDGPU::KILLGT) - return false; if (TII->isALUInstr(MI->getOpcode())) return true; if (TII->isVector(*MI) || TII->isCubeOp(MI->getOpcode())) @@ -195,6 +193,10 @@ private: AluInstCount ++; continue; } + if (I->getOpcode() == AMDGPU::KILLGT) { + I++; + break; + } if (TII->isALUInstr(I->getOpcode()) && !SubstituteKCacheBank(I, KCacheBanks)) break; |