aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/IndVarSimplify/loop_evaluate_6.ll
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-06-21 23:46:38 +0000
committerDan Gohman <gohman@apple.com>2009-06-21 23:46:38 +0000
commit51f53b7f5a0e859ceef995c61667905166b96f1b (patch)
treed9190de286f8fd9ad559821d01fc525efee93146 /test/Transforms/IndVarSimplify/loop_evaluate_6.ll
parent14ee48a5bae352780b767a14bd97e8e91800a95b (diff)
downloadexternal_llvm-51f53b7f5a0e859ceef995c61667905166b96f1b.zip
external_llvm-51f53b7f5a0e859ceef995c61667905166b96f1b.tar.gz
external_llvm-51f53b7f5a0e859ceef995c61667905166b96f1b.tar.bz2
Fix ScalarEvolution's backedge-taken count computations to check for
overflow when computing a integer division to round up. Thanks to Nick Lewycky for noticing this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73862 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/IndVarSimplify/loop_evaluate_6.ll')
-rw-r--r--test/Transforms/IndVarSimplify/loop_evaluate_6.ll6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/Transforms/IndVarSimplify/loop_evaluate_6.ll b/test/Transforms/IndVarSimplify/loop_evaluate_6.ll
index 35fbf52..0d17a80 100644
--- a/test/Transforms/IndVarSimplify/loop_evaluate_6.ll
+++ b/test/Transforms/IndVarSimplify/loop_evaluate_6.ll
@@ -1,7 +1,9 @@
; RUN: llvm-as < %s | opt -indvars -loop-deletion | llvm-dis | grep phi | count 1
+; XFAIL: *
-; Indvars should be able to evaluate this loop, allowing loop deletion
-; to delete it.
+; Indvars can't evaluate this loop, because ScalarEvolution can't compute
+; an exact trip count, because it doesn't know if dividing by the stride will
+; have a remainder. It could be done with more aggressive VRP though.
define i32 @test(i32 %x_offs) nounwind readnone {
entry: