44 lines · plain
1; RUN: llc -mtriple=x86_64-linux-gnu -stop-after=x86-isel %s -o - | llc --passes='print<machine-loops>' -x mir -o - 2>&1 | FileCheck %s2 3; Function Attrs: noinline nounwind optnone ssp uwtable4define i32 @foo(i32 noundef %0) #0 {5 %2 = alloca i32, align 46 %3 = alloca i32, align 47 %4 = alloca i32, align 48 store i32 %0, ptr %2, align 49 store i32 0, ptr %3, align 410 store i32 0, ptr %4, align 411 br label %512 135: ; preds = %13, %114 %6 = load i32, ptr %4, align 415 %7 = load i32, ptr %2, align 416 %8 = icmp ne i32 %6, %717 br i1 %8, label %9, label %1618 199: ; preds = %520 %10 = load i32, ptr %4, align 421 %11 = load i32, ptr %3, align 422 %12 = add nsw i32 %11, %1023 store i32 %12, ptr %3, align 424 br label %1325 2613: ; preds = %927 %14 = load i32, ptr %4, align 428 %15 = add nsw i32 %14, 129 store i32 %15, ptr %4, align 430 br label %5, !llvm.loop !131 3216: ; preds = %533 %17 = load i32, ptr %3, align 434 %18 = load i32, ptr %2, align 435 %19 = add nsw i32 %17, %1836 ret i32 %1937}38 39!0 = distinct !{!0, !1}40!1 = !{!"llvm.loop.mustprogress"}41 42; CHECK: Machine loop info for machine function 'foo':43; CHECK: Loop at depth 1 containing: %bb.1<header><exiting>,%bb.2,%bb.3<latch>44