35 lines · plain
1; RUN: opt < %s -passes="loop-mssa(simple-loop-unswitch)" -verify-memoryssa -S | FileCheck %s2 3; This test checks if unswitched condition preserve make.implicit metadata.4define i32 @test(i1 %cond) {5; CHECK-LABEL: @test(6entry:7 br label %loop_begin8; CHECK-NEXT: entry:9; CHECK-NEXT: br i1 %{{.*}}, label %entry.split, label %loop_exit, !make.implicit !010;11; CHECK: entry.split:12; CHECK-NEXT: br label %loop_begin13 14loop_begin:15 br i1 %cond, label %continue, label %loop_exit, !make.implicit !016; CHECK: loop_begin:17; CHECK-NEXT: br label %continue18 19continue:20 call void @some_func()21 br label %loop_begin22; CHECK: continue:23; CHECK-NEXT: call24; CHECK-NEXT: br label %loop_begin25 26loop_exit:27 ret i32 028; CHECK: loop_exit:29; CHECK-NEXT: ret30}31 32declare void @some_func()33 34!0 = !{}35