Mesa (master): r600g/llvm: Only emit an instruction's explicit operands

Tom Stellard tstellar at kemper.freedesktop.org
Mon Apr 23 14:33:37 UTC 2012


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

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Thu Apr 19 11:47:08 2012 -0400

r600g/llvm: Only emit an instruction's explicit operands

---

 src/gallium/drivers/radeon/R600CodeEmitter.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeon/R600CodeEmitter.cpp b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
index 4d9ca4f..2367713 100644
--- a/src/gallium/drivers/radeon/R600CodeEmitter.cpp
+++ b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
@@ -285,7 +285,7 @@ bool R600CodeEmitter::runOnMachineFunction(MachineFunction &MF) {
 void R600CodeEmitter::emitALUInstr(MachineInstr &MI)
 {
 
-  unsigned numOperands = MI.getNumOperands();
+  unsigned numOperands = MI.getNumExplicitOperands();
 
    /* Some instructions are just place holder instructions that represent
     * operations that the GPU does automatically.  They should be ignored. */
@@ -351,7 +351,7 @@ void R600CodeEmitter::emitSrc(const MachineOperand & MO)
     emitTwoBytes(getHWReg(reg));
     if (reg == AMDIL::ALU_LITERAL_X) {
       const MachineInstr * parent = MO.getParent();
-      unsigned immOpIndex = parent->getNumOperands() - 1;
+      unsigned immOpIndex = parent->getNumExplicitOperands() - 1;
       MachineOperand immOp = parent->getOperand(immOpIndex);
       if (immOp.isFPImm()) {
         value = immOp.getFPImm()->getValueAPF().bitcastToAPInt().getZExtValue();




More information about the mesa-commit mailing list