Commit d615c861 by Jim Stichnoth

Subzero: Fix a potential null-pointer dereference.

BUG= none R=jpp@chromium.org, manasijm@google.com Review URL: https://codereview.chromium.org/2103613002 .
parent fe2caab8
......@@ -5327,14 +5327,17 @@ const Inst *AddressOptimizer::matchOffsetIndexOrBase(
}
} else if (VarDef->getOp() == InstArithmetic::Mul) {
SizeT PowerOfTwo = 0;
ConstantInteger32 *MultConst =
llvm::dyn_cast<ConstantInteger32>(VarDef->getSrc(0));
if (llvm::isPowerOf2_32(MultConst->getValue())) {
PowerOfTwo += MultConst->getValue();
if (auto *MultConst =
llvm::dyn_cast<ConstantInteger32>(VarDef->getSrc(0))) {
if (llvm::isPowerOf2_32(MultConst->getValue())) {
PowerOfTwo += MultConst->getValue();
}
}
MultConst = llvm::dyn_cast<ConstantInteger32>(VarDef->getSrc(1));
if (llvm::isPowerOf2_32(MultConst->getValue())) {
PowerOfTwo += MultConst->getValue();
if (auto *MultConst =
llvm::dyn_cast<ConstantInteger32>(VarDef->getSrc(1))) {
if (llvm::isPowerOf2_32(MultConst->getValue())) {
PowerOfTwo += MultConst->getValue();
}
}
ZeroesAvailable = llvm::Log2_32(PowerOfTwo) + 1;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment