From f8e9c29020289387f0f429ac6d3c28e73e5847a3 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 10 May 2012 15:29:00 -0400 Subject: [PATCH] radeonsi/llvm: Move lowering of RETURN to ConvertToISA pass --- src/gallium/drivers/radeon/SIInstrInfo.cpp | 2 ++ .../drivers/radeon/SILowerShaderInstructions.cpp | 11 ----------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/src/gallium/drivers/radeon/SIInstrInfo.cpp b/src/gallium/drivers/radeon/SIInstrInfo.cpp index e733aa856e4..0cb97643a7f 100644 --- a/src/gallium/drivers/radeon/SIInstrInfo.cpp +++ b/src/gallium/drivers/radeon/SIInstrInfo.cpp @@ -107,6 +107,8 @@ unsigned SIInstrInfo::getISAOpcode(unsigned AMDILopcode) const { switch (AMDILopcode) { case AMDIL::MAD_f32: return AMDIL::V_MAD_LEGACY_F32; + //XXX We need a better way of detecting end of program + case AMDIL::RETURN: return AMDIL::S_ENDPGM; default: return AMDGPUInstrInfo::getISAOpcode(AMDILopcode); } } diff --git a/src/gallium/drivers/radeon/SILowerShaderInstructions.cpp b/src/gallium/drivers/radeon/SILowerShaderInstructions.cpp index c66b8f3f9e1..0c5a831440b 100644 --- a/src/gallium/drivers/radeon/SILowerShaderInstructions.cpp +++ b/src/gallium/drivers/radeon/SILowerShaderInstructions.cpp @@ -35,7 +35,6 @@ namespace { const char *getPassName() const { return "SI Lower Shader Instructions"; } - void lowerRETURN(MachineBasicBlock &MBB, MachineBasicBlock::iterator I); void lowerSET_M0(MachineInstr &MI, MachineBasicBlock &MBB, MachineBasicBlock::iterator I); }; @@ -57,9 +56,6 @@ bool SILowerShaderInstructionsPass::runOnMachineFunction(MachineFunction &MF) I != MBB.end(); I = Next, Next = llvm::next(I) ) { MachineInstr &MI = *I; switch (MI.getOpcode()) { - case AMDIL::RETURN: - lowerRETURN(MBB, I); - break; case AMDIL::SET_M0: lowerSET_M0(MI, MBB, I); break; @@ -72,13 +68,6 @@ bool SILowerShaderInstructionsPass::runOnMachineFunction(MachineFunction &MF) return false; } -void SILowerShaderInstructionsPass::lowerRETURN(MachineBasicBlock &MBB, - MachineBasicBlock::iterator I) -{ - const struct TargetInstrInfo * TII = TM.getInstrInfo(); - BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(AMDIL::S_ENDPGM)); -} - void SILowerShaderInstructionsPass::lowerSET_M0(MachineInstr &MI, MachineBasicBlock &MBB, MachineBasicBlock::iterator I) { -- 2.30.2