[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / Transforms / SimpleLoopUnswitch / basictest-profmd.ll
blob858088bee7cc4ab7781aeea53fb07bab7a04ebd4
1 ; RUN: opt -passes='loop(unswitch),verify<loops>' -S < %s | FileCheck %s
2 ; RUN: opt -verify-memoryssa -passes='loop-mssa(unswitch),verify<loops>' -S < %s | FileCheck %s
4 declare void @incf()
5 declare void @decf()
7 define i32 @test2(i32 %c) {
8 ; CHECK-LABEL: @test2(
9   br label %loop_begin
11 ; CHECK: !prof ![[MD0:[0-9]+]]
12 ; CHECK: loop_begin:
13 ; CHECK: !prof ![[MD1:[0-9]+]]
14 loop_begin:
16   switch i32 %c, label %default [
17       i32 1, label %inc
18       i32 2, label %dec
19   ], !prof !{!"branch_weights", i32 99, i32 1, i32 2}
21 inc:
22   call void @incf()
23   br label %loop_begin
25 dec:
26   call void @decf()
27   br label %loop_begin
29 default:
30   ret i32 0
33 ; CHECK: ![[MD0]] = !{!"branch_weights", i32 99, i32 1, i32 2}
34 ; CHECK: ![[MD1]] = !{!"branch_weights", i32 2, i32 1}