[llvm-commits] [dragonegg] r95087 - /dragonegg/trunk/llvm-convert.cpp
Duncan Sands
baldrick at free.fr
Tue Feb 2 04:56:16 PST 2010
Author: baldrick
Date: Tue Feb 2 06:56:16 2010
New Revision: 95087
URL: http://llvm.org/viewvc/llvm-project?rev=95087&view=rev
Log:
Create NUW operations if an unsigned type does not wrap. This actually never
happens, because TYPE_OVERFLOW_WRAPS only returns false for signed types, but
is more logically correct (and future proof).
Modified:
dragonegg/trunk/llvm-convert.cpp
Modified: dragonegg/trunk/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-convert.cpp?rev=95087&r1=95086&r2=95087&view=diff
==============================================================================
--- dragonegg/trunk/llvm-convert.cpp (original)
+++ dragonegg/trunk/llvm-convert.cpp Tue Feb 2 06:56:16 2010
@@ -1343,8 +1343,8 @@
return Builder.CreateFAdd(LHS, RHS);
if (TYPE_OVERFLOW_WRAPS(type))
return Builder.CreateAdd(LHS, RHS);
-// if (TYPE_UNSIGNED(type))
-// return Builder.CreateNUWAdd(LHS, RHS);
+ if (TYPE_UNSIGNED(type))
+ return Builder.CreateNUWAdd(LHS, RHS);
return Builder.CreateNSWAdd(LHS, RHS);
}
@@ -1355,8 +1355,8 @@
return Builder.CreateFMul(LHS, RHS);
if (TYPE_OVERFLOW_WRAPS(type))
return Builder.CreateMul(LHS, RHS);
-// if (TYPE_UNSIGNED(type))
-// return Builder.CreateNUWMul(LHS, RHS);
+ if (TYPE_UNSIGNED(type))
+ return Builder.CreateNUWMul(LHS, RHS);
return Builder.CreateNSWMul(LHS, RHS);
}
@@ -1367,8 +1367,8 @@
return Builder.CreateFSub(LHS, RHS);
if (TYPE_OVERFLOW_WRAPS(type))
return Builder.CreateSub(LHS, RHS);
-// if (TYPE_UNSIGNED(type))
-// return Builder.CreateNUWSub(LHS, RHS);
+ if (TYPE_UNSIGNED(type))
+ return Builder.CreateNUWSub(LHS, RHS);
return Builder.CreateNSWSub(LHS, RHS);
}
More information about the llvm-commits
mailing list