summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/InstSimplify/rem.ll
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2017-01-06 21:23:51 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2017-01-06 21:23:51 +0000
commit8c0e62f507e2988ff54f6f909f5719c0e8fdb041 (patch)
tree5b9b2d6f0072b25aa88765ce1bae507c3b3a4242 /llvm/test/Transforms/InstSimplify/rem.ll
parent27d224fbbb5185bb84df5535ff8682560796ee18 (diff)
downloadbcm5719-llvm-8c0e62f507e2988ff54f6f909f5719c0e8fdb041.tar.gz
bcm5719-llvm-8c0e62f507e2988ff54f6f909f5719c0e8fdb041.zip
[InstSimplify] Optimize away urems in the presence of range metadata
We know that urem %V, C can be optimized away to %V if %V is ult C. llvm-svn: 291282
Diffstat (limited to 'llvm/test/Transforms/InstSimplify/rem.ll')
-rw-r--r--llvm/test/Transforms/InstSimplify/rem.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/Transforms/InstSimplify/rem.ll b/llvm/test/Transforms/InstSimplify/rem.ll
index df3f659b782..c73d34346de 100644
--- a/llvm/test/Transforms/InstSimplify/rem.ll
+++ b/llvm/test/Transforms/InstSimplify/rem.ll
@@ -49,3 +49,17 @@ define i32 @rem3(i32 %x, i32 %n) {
%mod1 = urem i32 %mod, %n
ret i32 %mod1
}
+
+declare i32 @external()
+
+define i32 @rem4() {
+; CHECK-LABEL: @rem4(
+; CHECK: [[CALL:%.*]] = call i32 @external(), !range !0
+; CHECK-NEXT: ret i32 [[CALL]]
+;
+ %call = call i32 @external(), !range !0
+ %urem = urem i32 %call, 3
+ ret i32 %urem
+}
+
+!0 = !{i32 0, i32 3}
OpenPOWER on IntegriCloud