; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt -S -dfa-jump-threading -sccp -simplifycfg %s | FileCheck %s ; This test checks that a constant propagation is applied for a basic loop. ; Related to bug 44679. define i32 @test(i32 %a) { ; CHECK-LABEL: @test( ; CHECK-NEXT: entry: ; CHECK-NEXT: ret i32 3 ; entry: br label %while.cond while.cond: %num = phi i32 [ 0, %entry ], [ %add, %case1 ] %state = phi i32 [ 1, %entry ], [ %state.next, %case1 ] switch i32 %state, label %end [ i32 1, label %case1 i32 2, label %case2 ] case1: %state.next = phi i32 [ 3, %case2 ], [ 2, %while.cond ] %add = add nsw i32 %num, %state br label %while.cond case2: br label %case1 end: ret i32 %num }