diff options
| author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-06-02 17:09:22 +0000 |
|---|---|---|
| committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2016-06-02 17:09:22 +0000 |
| commit | 6393ef135ca804bef2f4519a38ef9d9d002750a9 (patch) | |
| tree | 9f1c878506beb73f9fd7563a2ca728ec775bfde2 /polly/lib/CodeGen/IslExprBuilder.cpp | |
| parent | 5c3ff137f19524c40f2b3bc092d3d4ea56dd0f5c (diff) | |
| download | bcm5719-llvm-6393ef135ca804bef2f4519a38ef9d9d002750a9.tar.gz bcm5719-llvm-6393ef135ca804bef2f4519a38ef9d9d002750a9.zip | |
Temporarily promote values to i64 again
Operands of binary operations that might overflow will be temporarily
promoted to i64 again, though that is not a sound solution for the problem.
llvm-svn: 271538
Diffstat (limited to 'polly/lib/CodeGen/IslExprBuilder.cpp')
| -rw-r--r-- | polly/lib/CodeGen/IslExprBuilder.cpp | 5 |
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) { |

