; This test ensures that the simplifycfg pass continues to constant fold
; terminator instructions.

; RUN: opt < %s -simplifycfg -S | not grep br

define i32 @test(i32 %A, i32 %B) {
J:
        %C = add i32 %A, 12             ; <i32> [#uses=2]
        br i1 true, label %L, label %K
L:              ; preds = %J
        %D = add i32 %C, %B             ; <i32> [#uses=1]
        ret i32 %D
K:              ; preds = %J
        %E = add i32 %C, %B             ; <i32> [#uses=1]
        ret i32 %E
}

