diff --git a/lib/Target/Sparc/InstSelectSimple.cpp b/lib/Target/Sparc/InstSelectSimple.cpp
index 9127682..398198f 100644
--- a/lib/Target/Sparc/InstSelectSimple.cpp
+++ b/lib/Target/Sparc/InstSelectSimple.cpp
@@ -452,10 +452,10 @@
         .addReg (ArgReg);
     }
 
-  unsigned DestReg = getReg (I);
   BuildMI (BB, V8::CALL, 1).addPCDisp (I.getOperand (0));
-  if (I.getType ()->getPrimitiveID () == Type::VoidTyID)
+  if (I.getType () == Type::VoidTy)
     return;
+  unsigned DestReg = getReg (I);
   // Deal w/ return value
   switch (getClass (I.getType ())) {
     case cByte:
diff --git a/lib/Target/Sparc/SparcV8ISelSimple.cpp b/lib/Target/Sparc/SparcV8ISelSimple.cpp
index 9127682..398198f 100644
--- a/lib/Target/Sparc/SparcV8ISelSimple.cpp
+++ b/lib/Target/Sparc/SparcV8ISelSimple.cpp
@@ -452,10 +452,10 @@
         .addReg (ArgReg);
     }
 
-  unsigned DestReg = getReg (I);
   BuildMI (BB, V8::CALL, 1).addPCDisp (I.getOperand (0));
-  if (I.getType ()->getPrimitiveID () == Type::VoidTyID)
+  if (I.getType () == Type::VoidTy)
     return;
+  unsigned DestReg = getReg (I);
   // Deal w/ return value
   switch (getClass (I.getType ())) {
     case cByte:
diff --git a/lib/Target/SparcV8/InstSelectSimple.cpp b/lib/Target/SparcV8/InstSelectSimple.cpp
index 9127682..398198f 100644
--- a/lib/Target/SparcV8/InstSelectSimple.cpp
+++ b/lib/Target/SparcV8/InstSelectSimple.cpp
@@ -452,10 +452,10 @@
         .addReg (ArgReg);
     }
 
-  unsigned DestReg = getReg (I);
   BuildMI (BB, V8::CALL, 1).addPCDisp (I.getOperand (0));
-  if (I.getType ()->getPrimitiveID () == Type::VoidTyID)
+  if (I.getType () == Type::VoidTy)
     return;
+  unsigned DestReg = getReg (I);
   // Deal w/ return value
   switch (getClass (I.getType ())) {
     case cByte:
diff --git a/lib/Target/SparcV8/SparcV8ISelSimple.cpp b/lib/Target/SparcV8/SparcV8ISelSimple.cpp
index 9127682..398198f 100644
--- a/lib/Target/SparcV8/SparcV8ISelSimple.cpp
+++ b/lib/Target/SparcV8/SparcV8ISelSimple.cpp
@@ -452,10 +452,10 @@
         .addReg (ArgReg);
     }
 
-  unsigned DestReg = getReg (I);
   BuildMI (BB, V8::CALL, 1).addPCDisp (I.getOperand (0));
-  if (I.getType ()->getPrimitiveID () == Type::VoidTyID)
+  if (I.getType () == Type::VoidTy)
     return;
+  unsigned DestReg = getReg (I);
   // Deal w/ return value
   switch (getClass (I.getType ())) {
     case cByte:
