* Clean up InstrForest
* Fix ins sel problem, test case:
void "foo" (int *%x, int *%y)

begin
        seteq int *%x, %y
        ret void
end

llvm-svn: 552
diff --git a/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp b/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp
index ca2bca6..ddee541 100644
--- a/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp
+++ b/llvm/lib/CodeGen/TargetMachine/Sparc/SparcInstrSelection.cpp
@@ -540,12 +540,11 @@
   MachineOpCode opCode = INVALID_OPCODE;
   
   Value* operand = ((InstrTreeNode*) instrNode->leftChild())->getValue();
-  switch(operand->getType()->getPrimitiveID())
-    {
-    case Type::FloatTyID:  opCode = FCMPS; break;
-    case Type::DoubleTyID: opCode = FCMPD; break;
-    default: assert(0 && "Invalid type for FCMP instruction"); break; 
-    }
+  switch(operand->getType()->getPrimitiveID()) {
+  case Type::FloatTyID:  opCode = FCMPS; break;
+  case Type::DoubleTyID: opCode = FCMPD; break;
+  default: assert(0 && "Invalid type for FCMP instruction"); break; 
+  }
   
   return opCode;
 }
@@ -1700,7 +1699,8 @@
     int valueToMove;
     MachineOpCode movOpCode;
     
-    if (subtreeRoot->leftChild()->getValue()->getType()->isIntegral())
+    if (subtreeRoot->leftChild()->getValue()->getType()->isIntegral() ||
+	subtreeRoot->leftChild()->getValue()->getType()->isPointerType())
       {
 	// integer condition: destination should be %g0 or integer register
 	// if result must be saved but condition is not SetEQ then we need