Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / Analysis / ScalarEvolution / values-at-scopes-consistency.ll
blobc05da88e430f84b1b3f58176f61ff3c5ff08a941
1 ; RUN: opt -S -passes='verify<scalar-evolution>' < %s
3 ; Make sure this does not fail ValuesAtScopes consistency verification.
4 ; This used to register a ValuesAtScopes user, even though nothing was
5 ; added to ValuesAtScope due to a prior invalidation.
7 define void @main(ptr %p) {
8 entry:
9   br label %loop1
11 loop1:
12   br label %loop2
14 loop2:
15   %i = phi i64 [ 0, %loop1 ], [ %i.next, %loop2.latch ]
16   %i.next = add nuw nsw i64 %i, 1
17   %gep = getelementptr i8, ptr %p, i64 %i
18   %val = load i8, ptr %gep
19   %c = icmp eq i8 %val, 0
20   br i1 %c, label %loop2.latch, label %exit
22 loop2.latch:
23   br i1 false, label %loop2, label %loop1.latch
25 loop1.latch:
26   br label %loop1
28 exit:
29   ret void