Mesa (master): radeonsi/llvm: Move lowering of RETURN to ConvertToISA pass

Tom Stellard tstellar at kemper.freedesktop.org
Thu May 10 20:50:56 UTC 2012


Module: Mesa
Branch: master
Commit: f8e9c29020289387f0f429ac6d3c28e73e5847a3
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8e9c29020289387f0f429ac6d3c28e73e5847a3

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu May 10 15:29:00 2012 -0400

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 e733aa8..0cb9764 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 c66b8f3..0c5a831 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)
 {




More information about the mesa-commit mailing list