blob: 09d7d792c7c6c6b8f7337008bf77c751d41e9fa7 [file] [log] [blame]
Eric Christophercee313d2019-04-17 04:52:47 +00001; RUN: opt < %s -simple-loop-unswitch -S | FileCheck %s
2; RUN: opt < %s -simple-loop-unswitch -enable-mssa-loop-dependency=true -verify-memoryssa -S | FileCheck %s
3
4; This test checks if unswitched condition preserve make.implicit metadata.
5define i32 @test(i1 %cond) {
6; CHECK-LABEL: @test(
7entry:
8 br label %loop_begin
9; CHECK-NEXT: entry:
10; CHECK-NEXT: br i1 %{{.*}}, label %entry.split, label %loop_exit, !make.implicit !0
11;
12; CHECK: entry.split:
13; CHECK-NEXT: br label %loop_begin
14
15loop_begin:
16 br i1 %cond, label %continue, label %loop_exit, !make.implicit !0
17; CHECK: loop_begin:
18; CHECK-NEXT: br label %continue
19
20continue:
21 call void @some_func()
22 br label %loop_begin
23; CHECK: continue:
24; CHECK-NEXT: call
25; CHECK-NEXT: br label %loop_begin
26
27loop_exit:
28 ret i32 0
29; CHECK: loop_exit:
30; CHECK-NEXT: ret
31}
32
33declare void @some_func()
34
35!0 = !{}