summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/SICodeEmitter.cpp
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-06-02 07:57:54 -0400
committerTom Stellard <[email protected]>2012-06-06 13:46:03 -0400
commit8cc9b463deae8f6116963e1fea0c62930066b563 (patch)
treeba0fa586a779b7c442f2cc53e33a00724ea2a21e /src/gallium/drivers/radeon/SICodeEmitter.cpp
parentde7366701d21842787d65320c12e6b4ecaea3807 (diff)
radeon/llvm: Don't lower RETURN to S_ENDPGM on SI
Instead create an S_ENDPGM instruction in the CodeEmitter and emit it after all the other instructions.
Diffstat (limited to 'src/gallium/drivers/radeon/SICodeEmitter.cpp')
-rw-r--r--src/gallium/drivers/radeon/SICodeEmitter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/SICodeEmitter.cpp b/src/gallium/drivers/radeon/SICodeEmitter.cpp
index d2ea1fb5dec..1d247061e41 100644
--- a/src/gallium/drivers/radeon/SICodeEmitter.cpp
+++ b/src/gallium/drivers/radeon/SICodeEmitter.cpp
@@ -172,6 +172,10 @@ bool SICodeEmitter::runOnMachineFunction(MachineFunction &MF)
}
}
}
+ // Emit S_END_PGM
+ MachineInstr * End = BuildMI(MF, DebugLoc(),
+ TM->getInstrInfo()->get(AMDIL::S_ENDPGM));
+ emitInstr(*End);
return false;
}