summaryrefslogtreecommitdiffstats
path: root/test/Analysis
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-05-08 23:11:16 +0000
committerDan Gohman <gohman@apple.com>2009-05-08 23:11:16 +0000
commitb0285932ab915cacb5534ee4fccd18584c28ab56 (patch)
tree85c76dfa0d8160cc73faff6efc1285f86a65f911 /test/Analysis
parent82ae933e55839713ea039e7c6353483b14dc5724 (diff)
downloadexternal_llvm-b0285932ab915cacb5534ee4fccd18584c28ab56.zip
external_llvm-b0285932ab915cacb5534ee4fccd18584c28ab56.tar.gz
external_llvm-b0285932ab915cacb5534ee4fccd18584c28ab56.tar.bz2
Fix bogus overflow checks by replacing them with actual
overflow checks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71284 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r--test/Analysis/ScalarEvolution/div-overflow.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/Analysis/ScalarEvolution/div-overflow.ll b/test/Analysis/ScalarEvolution/div-overflow.ll
new file mode 100644
index 0000000..cb64b85
--- /dev/null
+++ b/test/Analysis/ScalarEvolution/div-overflow.ll
@@ -0,0 +1,10 @@
+; RUN: llvm-as < %s | opt -scalar-evolution -analyze -disable-output \
+; RUN: | grep {\\--> ((-128 \\* %a) /u -128)}
+
+; Don't let ScalarEvolution fold this div away.
+
+define i8 @foo(i8 %a) {
+ %t0 = shl i8 %a, 7
+ %t1 = lshr i8 %t0, 7
+ ret i8 %t1
+}