summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/ScalarEvolution/zext-mul.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/Analysis/ScalarEvolution/zext-mul.ll')
-rw-r--r--llvm/test/Analysis/ScalarEvolution/zext-mul.ll16
1 files changed, 10 insertions, 6 deletions
diff --git a/llvm/test/Analysis/ScalarEvolution/zext-mul.ll b/llvm/test/Analysis/ScalarEvolution/zext-mul.ll
index ae93a9288d8..0c0f16c1dea 100644
--- a/llvm/test/Analysis/ScalarEvolution/zext-mul.ll
+++ b/llvm/test/Analysis/ScalarEvolution/zext-mul.ll
@@ -19,16 +19,20 @@ define void @no_range() {
}
; CHECK-LABEL: @range
-;
-; This had to be disabled when r334428 was reverted. We should enable this test
-; when r334428 is reapplied with a fix.
define void @range() {
- %a = call i32 @get_int(), !range !0
+ %a = call i32 @get_int(), !range !{i32 0, i32 100}
%b = mul i32 %a, 4
%c = zext i32 %b to i64
; CHECK: %c
- ; CHECK-NEXT: --> (zext i32 (4 * %a) to i64)
+ ; CHECK-NEXT: --> (4 * (zext i32 %a to i64))<nuw><nsw>
ret void
}
-!0 = !{i32 0, i32 100}
+; CHECK-LABEL: @no_nuw
+define void @no_nuw() {
+ %a = call i32 @get_int(), !range !{i32 0, i32 3}
+ %b = mul i32 %a, -100
+ ; CHECK: %b
+ ; CHECK-NEXT: --> (-100 * %a)<nsw>
+ ret void
+}
OpenPOWER on IntegriCloud