Changed IRBuilder::CreateZExtOrTrunc and IRBuilder::CreateSExtOrTrunc so they also...
authorMichael Gottesman <mgottesman@apple.com>
Sun, 20 Jan 2013 07:33:26 +0000 (07:33 +0000)
committerMichael Gottesman <mgottesman@apple.com>
Sun, 20 Jan 2013 07:33:26 +0000 (07:33 +0000)
I also changed the name of a variable in IRBuilder::CreateFPExtOrFPTrunc to
match the names used in its two matching brethern as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172967 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/IRBuilder.h

index 22e082e5300805c181d794f023efb855070d59e0..e2ec481d070d2e360edebaa22d1fba32fc876e36 100644 (file)
@@ -1031,27 +1031,29 @@ public:
   }
   /// \brief Create a ZExt or Trunc from the integer value V to DestTy. Return
   /// the value untouched if the type of V is already DestTy.
-  Value *CreateZExtOrTrunc(Value *V, IntegerType *DestTy,
+  Value *CreateZExtOrTrunc(Value *V, Type *DestTy,
                            const Twine &Name = "") {
-    assert(isa<IntegerType>(V->getType()) &&
+    assert(V->getType()->isIntOrIntVectorTy() &&
+           DestTy->isIntOrIntVectorTy() &&
            "Can only zero extend/truncate integers!");
-    IntegerType *IntTy = cast<IntegerType>(V->getType());
-    if (IntTy->getBitWidth() < DestTy->getBitWidth())
+    Type *VTy = V->getType();
+    if (VTy->getScalarSizeInBits() < DestTy->getScalarSizeInBits())
       return CreateZExt(V, DestTy, Name);
-    if (IntTy->getBitWidth() > DestTy->getBitWidth())
+    if (VTy->getScalarSizeInBits() > DestTy->getScalarSizeInBits())
       return CreateTrunc(V, DestTy, Name);
     return V;
   }
   /// \brief Create a SExt or Trunc from the integer value V to DestTy. Return
   /// the value untouched if the type of V is already DestTy.
-  Value *CreateSExtOrTrunc(Value *V, IntegerType *DestTy,
+  Value *CreateSExtOrTrunc(Value *V, Type *DestTy,
                            const Twine &Name = "") {
-    assert(isa<IntegerType>(V->getType()) &&
+    assert(V->getType()->isIntOrIntVectorTy() &&
+           DestTy->isIntOrIntVectorTy() &&
            "Can only sign extend/truncate integers!");
-    IntegerType *IntTy = cast<IntegerType>(V->getType());
-    if (IntTy->getBitWidth() < DestTy->getBitWidth())
+    Type *VTy = V->getType();
+    if (VTy->getScalarSizeInBits() < DestTy->getScalarSizeInBits())
       return CreateSExt(V, DestTy, Name);
-    if (IntTy->getBitWidth() > DestTy->getBitWidth())
+    if (VTy->getScalarSizeInBits() > DestTy->getScalarSizeInBits())
       return CreateTrunc(V, DestTy, Name);
     return V;
   }
@@ -1062,10 +1064,10 @@ public:
     assert(V->getType()->isFPOrFPVectorTy() &&
            DestTy->isFPOrFPVectorTy() &&
            "Can only FPExt/FPTrunc floating point types!");
-    Type *Ty = V->getType();
-    if (Ty->getScalarSizeInBits() < DestTy->getScalarSizeInBits())
+    Type *VTy = V->getType();
+    if (VTy->getScalarSizeInBits() < DestTy->getScalarSizeInBits())
       return CreateFPExt(V, DestTy, Name);
-    if (Ty->getScalarSizeInBits() > DestTy->getScalarSizeInBits())
+    if (VTy->getScalarSizeInBits() > DestTy->getScalarSizeInBits())
       return CreateFPTrunc(V, DestTy, Name);
     return V;
   }