Mesa (master): radeon/llvm: Remove some duplicate code in the R600 CodeEmitter

Tom Stellard tstellar at kemper.freedesktop.org
Wed Jun 6 20:52:38 UTC 2012


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

Author: Tom Stellard <thomas.stellard at amd.com>
Date:   Wed Jun  6 11:40:34 2012 -0400

radeon/llvm: Remove some duplicate code in the R600 CodeEmitter

---

 src/gallium/drivers/radeon/R600CodeEmitter.cpp |   12 +++---------
 1 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/radeon/R600CodeEmitter.cpp b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
index 42d7918..3b7ca2c 100644
--- a/src/gallium/drivers/radeon/R600CodeEmitter.cpp
+++ b/src/gallium/drivers/radeon/R600CodeEmitter.cpp
@@ -162,6 +162,7 @@ bool R600CodeEmitter::runOnMachineFunction(MachineFunction &MF) {
           MachineInstr &MI = *I;
 	  isReduction = AMDGPU::isReductionOp(MI.getOpcode());
 	  isVector = TII->isVector(MI);
+	  isCube = AMDGPU::isCubeOp(MI.getOpcode());
           if (MI.getNumOperands() > 1 && MI.getOperand(0).isReg() && MI.getOperand(0).isDead()) {
             continue;
           }
@@ -169,7 +170,7 @@ bool R600CodeEmitter::runOnMachineFunction(MachineFunction &MF) {
             emitTexInstr(MI);
           } else if (AMDGPU::isFCOp(MI.getOpcode())){
             emitFCInstr(MI);
-          } else if (isReduction || isVector) {
+          } else if (isReduction || isVector || isCube) {
             isLast = false;
             for (currentElement = 0; currentElement < 4; currentElement++) {
               isLast = (currentElement == 3);
@@ -177,14 +178,7 @@ bool R600CodeEmitter::runOnMachineFunction(MachineFunction &MF) {
             }
             isReduction = false;
 	    isVector = false;
-          } else if (AMDGPU::isCubeOp(MI.getOpcode())) {
-              isCube = true;
-              isLast = false;
-              for (currentElement = 0; currentElement < 4; currentElement++) {
-                isLast = (currentElement == 3);
-                emitALUInstr(MI);
-              }
-              isCube = false;
+	    isCube = false;
           } else if (MI.getOpcode() == AMDIL::RETURN ||
                      MI.getOpcode() == AMDIL::BUNDLE ||
                      MI.getOpcode() == AMDIL::KILL) {




More information about the mesa-commit mailing list