Index: src/IceTargetLoweringX8664.cpp |
diff --git a/src/IceTargetLoweringX8664.cpp b/src/IceTargetLoweringX8664.cpp |
index 3befd98cb48cfc2ddaf3e0d996b5c77d2c93b037..9b99e81c239dabe208ed3279bb0a94e35316ef6f 100644 |
--- a/src/IceTargetLoweringX8664.cpp |
+++ b/src/IceTargetLoweringX8664.cpp |
@@ -412,7 +412,7 @@ Traits::X86OperandMem *TargetX8664::_sandbox_mem_reference(X86OperandMem *Mem) { |
if (Offset != nullptr) { |
if (const auto *CR = llvm::dyn_cast<ConstantRelocatable>(Offset)) { |
NeedsLea = CR->getName() != "" || CR->getOffset() < 0; |
- } else if (const auto *Imm = llvm::cast<ConstantInteger32>(Offset)) { |
+ } else if (const auto *Imm = llvm::dyn_cast<ConstantInteger32>(Offset)) { |
NeedsLea = Imm->getValue() < 0; |
} else { |
llvm::report_fatal_error("Unexpected Offset type."); |