[llvm-commits] [llvm] r172538 - /llvm/trunk/lib/IR/Instructions.cpp

Evgeniy Stepanov eugeni.stepanov at gmail.com
Tue Jan 15 08:43:01 PST 2013


Author: eugenis
Date: Tue Jan 15 10:43:00 2013
New Revision: 172538

URL: http://llvm.org/viewvc/llvm-project?rev=172538&view=rev
Log:
Allow vectors in CreatePointerCast.

Both underlying IR operations support vectors of pointers already.

Modified:
    llvm/trunk/lib/IR/Instructions.cpp

Modified: llvm/trunk/lib/IR/Instructions.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/Instructions.cpp?rev=172538&r1=172537&r2=172538&view=diff
==============================================================================
--- llvm/trunk/lib/IR/Instructions.cpp (original)
+++ llvm/trunk/lib/IR/Instructions.cpp Tue Jan 15 10:43:00 2013
@@ -2386,11 +2386,11 @@
 CastInst *CastInst::CreatePointerCast(Value *S, Type *Ty, 
                                       const Twine &Name, 
                                       Instruction *InsertBefore) {
-  assert(S->getType()->isPointerTy() && "Invalid cast");
-  assert((Ty->isIntegerTy() || Ty->isPointerTy()) &&
+  assert(S->getType()->isPtrOrPtrVectorTy() && "Invalid cast");
+  assert((Ty->isIntOrIntVectorTy() || Ty->isPtrOrPtrVectorTy()) &&
          "Invalid cast");
 
-  if (Ty->isIntegerTy())
+  if (Ty->isIntOrIntVectorTy())
     return Create(Instruction::PtrToInt, S, Ty, Name, InsertBefore);
   return Create(Instruction::BitCast, S, Ty, Name, InsertBefore);
 }





More information about the llvm-commits mailing list