Index: src/IceTargetLoweringX8632.cpp |
diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp |
index eb41b84dae6d7f1196e1c8793db2fab861941e39..fd8298b52597be3610c5e8aabfbcb79f7cd6f0df 100644 |
--- a/src/IceTargetLoweringX8632.cpp |
+++ b/src/IceTargetLoweringX8632.cpp |
@@ -1058,6 +1058,7 @@ Operand *TargetX8632::hiOperand(Operand *Operand) { |
Offset = Ctx->getConstantInt32(IceType_i32, 4 + IntOffset->getValue()); |
} else if (ConstantRelocatable *SymOffset = |
llvm::dyn_cast<ConstantRelocatable>(Offset)) { |
+ assert(!Utils::WouldOverflowAdd(SymOffset->getOffset(), 4)); |
Offset = Ctx->getConstantSym(IceType_i32, 4 + SymOffset->getOffset(), |
SymOffset->getName()); |
} |