xref: /llvm-project/llvm/test/CodeGen/X86/live-vars.ll (revision ac0b2814c34959ebaa8f054db019bd287fdff54d)
1; RUN: llc -enable-new-pm -mtriple=x86_64-unknown -stop-after=x86-isel %s -o - | llc -passes='print<live-vars>' -x mir 2>&1 | FileCheck %s
2
3define i32 @foo(i32 noundef %0) local_unnamed_addr {
4  %2 = icmp eq i32 %0, 0
5  br i1 %2, label %13, label %3
6
73:                                                ; preds = %1
8  %4 = add i32 %0, -1
9  %5 = zext i32 %4 to i33
10  %6 = add i32 %0, -2
11  %7 = zext i32 %6 to i33
12  %8 = mul i33 %5, %7
13  %9 = lshr i33 %8, 1
14  %10 = trunc i33 %9 to i32
15  %11 = add i32 %10, %0
16  %12 = add i32 %11, -1
17  br label %13
18
1913:                                               ; preds = %3, %1
20  %14 = phi i32 [ 0, %1 ], [ %12, %3 ]
21  ret i32 %14
22}
23
24; CHECK: Live variables in machine function: foo
25; CHECK: Virtual register '%0':
26; CHECK:   Alive in blocks:
27; CHECK:   Killed by: No instructions.
28