1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -loop-unswitch -S < %s 2>&1 | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; This test checks if unswitched condition preserve make.implicit metadata. 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine i32 @test(i1 %cond) { 6*9880d681SAndroid Build Coastguard Worker; CHECK: br i1 %cond, label %..split_crit_edge, label %.loop_exit.split_crit_edge, !make.implicit !0 7*9880d681SAndroid Build Coastguard Worker br label %loop_begin 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Workerloop_begin: 10*9880d681SAndroid Build Coastguard Worker; CHECK: br i1 true, label %continue, label %loop_exit, !make.implicit !0 11*9880d681SAndroid Build Coastguard Worker br i1 %cond, label %continue, label %loop_exit, !make.implicit !0 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workercontinue: 14*9880d681SAndroid Build Coastguard Worker call void @some_func() 15*9880d681SAndroid Build Coastguard Worker br label %loop_begin 16*9880d681SAndroid Build Coastguard Worker 17*9880d681SAndroid Build Coastguard Workerloop_exit: 18*9880d681SAndroid Build Coastguard Worker ret i32 0 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdeclare void @some_func() 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Worker!0 = !{} 24