From: Vincent Lejeune Date: Wed, 3 Apr 2013 16:24:04 +0000 (+0000) Subject: R600: Consider KILLGT as an ALU instruction X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=795ecc36692feedc62260a19a8655f4934758689;p=oota-llvm.git 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 --- diff --git a/lib/Target/R600/R600ControlFlowFinalizer.cpp b/lib/Target/R600/R600ControlFlowFinalizer.cpp index bd87d741ecf..5c30601e0ad 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 7c7469a04b2..bda3703af7f 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;