xref: /llvm-project/llvm/test/Analysis/IVUsers/zext-fold-cache-invalidation.ll (revision a564048899a1a1de526a02cfd1a5d691ec31bafd)
1; RUN: opt -verify-scev -passes='print<iv-users>' -disable-output %s 2>&1 | FileCheck %s
2
3target datalayout = "n16"
4
5define i16 @zext_cache_invalidation_1(i1 %c) {
6; CHECK:      IV Users for loop %loop with backedge-taken count 13:
7; CHECK-NEXT:   %iv = {-3,+,4}<nuw><nsw><%loop> in    %iv.ext = zext i16 %iv to i32
8;
9entry:
10  br i1 false, label %loop, label %exit
11
12loop:
13  %iv = phi i16 [ -3, %entry ], [ %iv.next, %loop ]
14  %iv.ext = zext i16 %iv to i32
15  %iv.inc = add i32 %iv.ext, 4
16  %iv.next = trunc i32 %iv.inc to i16
17  %cond = icmp ult i16 %iv.next, 51
18  br i1 %cond, label %loop, label %exit
19
20exit:
21  ret i16 0
22}
23