[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / SimpleLoopUnswitch / copy-metadata.ll
blob5f6a4c3e809dbb809e6538cae6eac7ea6f95dd4c
1 ; RUN: opt < %s -passes=simple-loop-unswitch -verify-memoryssa -S | FileCheck %s
3 ; This test checks if unswitched condition preserve make.implicit metadata.
4 define i32 @test(i1 %cond) {
5 ; CHECK-LABEL: @test(
6 entry:
7   br label %loop_begin
8 ; CHECK-NEXT:  entry:
9 ; CHECK-NEXT:    br i1 %{{.*}}, label %entry.split, label %loop_exit, !make.implicit !0
11 ; CHECK:       entry.split:
12 ; CHECK-NEXT:    br label %loop_begin
14 loop_begin:
15   br i1 %cond, label %continue, label %loop_exit, !make.implicit !0
16 ; CHECK:       loop_begin:
17 ; CHECK-NEXT:    br label %continue
19 continue:
20   call void @some_func()
21   br label %loop_begin
22 ; CHECK:       continue:
23 ; CHECK-NEXT:    call
24 ; CHECK-NEXT:    br label %loop_begin
26 loop_exit:
27   ret i32 0
28 ; CHECK:       loop_exit:
29 ; CHECK-NEXT:    ret
32 declare void @some_func()
34 !0 = !{}