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.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/polly/lib/CodeGen/IslExprBuilder.cpp b/polly/lib/CodeGen/IslExprBuilder.cpp
index e3a329faf89..8faaeafe33a 100644
--- a/polly/lib/CodeGen/IslExprBuilder.cpp
+++ b/polly/lib/CodeGen/IslExprBuilder.cpp
@@ -639,7 +639,13 @@ Value *IslExprBuilder::createInt(__isl_take isl_ast_expr *Expr) {
Val = isl_ast_expr_get_val(Expr);
APValue = APIntFromVal(Val);
- T = getType(Expr);
+
+ auto BitWidth = APValue.getBitWidth();
+ if (BitWidth <= 64)
+ T = getType(Expr);
+ else
+ T = Builder.getIntNTy(BitWidth);
+
APValue = APValue.sextOrSelf(T->getBitWidth());
V = ConstantInt::get(T, APValue);
OpenPOWER on IntegriCloud