Use dyn_cast<> instead of isa<> and cast<>
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 15 Sep 2014 17:56:51 +0000 (17:56 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Mon, 15 Sep 2014 17:56:51 +0000 (17:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217796 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/Instructions.cpp

index be32dee06381ea979204a9aa020296848d014017..1497aa885c531794dbeb110cb956d2e7191ac332 100644 (file)
@@ -365,7 +365,8 @@ bool CallInst::paramHasAttr(unsigned i, Attribute::AttrKind A) const {
 /// IsConstantOne - Return true only if val is constant int 1
 static bool IsConstantOne(Value *val) {
   assert(val && "IsConstantOne does not work with NULL val");
-  return isa<ConstantInt>(val) && cast<ConstantInt>(val)->isOne();
+  const ConstantInt *CVal = dyn_cast<ConstantInt>(val);
+  return CVal && CVal->isOne();
 }
 
 static Instruction *createMalloc(Instruction *InsertBefore,