summaryrefslogtreecommitdiffstats
path: root/polly/lib/CodeGen/IslExprBuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'polly/lib/CodeGen/IslExprBuilder.cpp')
-rw-r--r--polly/lib/CodeGen/IslExprBuilder.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/polly/lib/CodeGen/IslExprBuilder.cpp b/polly/lib/CodeGen/IslExprBuilder.cpp
index 80229d0aa96..ba616562982 100644
--- a/polly/lib/CodeGen/IslExprBuilder.cpp
+++ b/polly/lib/CodeGen/IslExprBuilder.cpp
@@ -74,7 +74,10 @@ Value *IslExprBuilder::getOverflowState() const {
Value *IslExprBuilder::createBinOp(BinaryOperator::BinaryOps Opc, Value *LHS,
Value *RHS, const Twine &Name) {
- unifyTypes(LHS, RHS);
+ // @TODO Temporarily promote types of potentially overflowing binary
+ // operations to at least i64.
+ Value *I64C = Builder.getInt64(0);
+ unifyTypes(LHS, RHS, I64C);
// Handle the plain operation (without overflow tracking) first.
if (!OverflowState) {
OpenPOWER on IntegriCloud