From 51f53b7f5a0e859ceef995c61667905166b96f1b Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Sun, 21 Jun 2009 23:46:38 +0000 Subject: 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 --- test/Transforms/IndVarSimplify/loop_evaluate_6.ll | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'test/Transforms/IndVarSimplify') 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: -- cgit v1.1