From b7f17d435f54b385dafbfe32f9482dde97d20a67 Mon Sep 17 00:00:00 2001 From: Matt Pharr Date: Fri, 27 Jan 2012 12:59:18 -0800 Subject: [PATCH] Fix crash in gather/scatter optimization pass. --- opt.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/opt.cpp b/opt.cpp index 16401ba9..b4570235 100644 --- a/opt.cpp +++ b/opt.cpp @@ -2200,8 +2200,12 @@ lCheckMulForLinear(llvm::Value *op0, llvm::Value *op1, int vectorLength, llvm::ConstantVector *cv = llvm::dyn_cast(op0); if (cv == NULL) return false; - llvm::ConstantInt *splat = - llvm::dyn_cast(cv->getSplatValue()); + + llvm::Constant *csplat = cv->getSplatValue(); + if (csplat == NULL) + return false; + + llvm::ConstantInt *splat = llvm::dyn_cast(csplat); if (splat == NULL) return false;