1*1db2551cSBjorn Pettersson; RUN: opt -passes='loop(simple-loop-unswitch),verify<loops>' -S < %s | FileCheck %s 2*1db2551cSBjorn Pettersson; RUN: opt -verify-memoryssa -passes='loop-mssa(simple-loop-unswitch),verify<loops>' -S < %s | FileCheck %s 3d4097b4aSYevgeny Rouban 4d4097b4aSYevgeny Roubandeclare void @incf() 5d4097b4aSYevgeny Roubandeclare void @decf() 6d4097b4aSYevgeny Rouban 7d4097b4aSYevgeny Roubandefine i32 @test2(i32 %c) { 8d4097b4aSYevgeny Rouban; CHECK-LABEL: @test2( 9d4097b4aSYevgeny Rouban br label %loop_begin 10d4097b4aSYevgeny Rouban 11d4097b4aSYevgeny Rouban; CHECK: !prof ![[MD0:[0-9]+]] 12d4097b4aSYevgeny Rouban; CHECK: loop_begin: 13d4097b4aSYevgeny Rouban; CHECK: !prof ![[MD1:[0-9]+]] 14d4097b4aSYevgeny Roubanloop_begin: 15d4097b4aSYevgeny Rouban 16d4097b4aSYevgeny Rouban switch i32 %c, label %default [ 17d4097b4aSYevgeny Rouban i32 1, label %inc 18d4097b4aSYevgeny Rouban i32 2, label %dec 195c31b8b9SArthur Eubanks ], !prof !{!"branch_weights", i32 99, i32 1, i32 2} 20d4097b4aSYevgeny Rouban 21d4097b4aSYevgeny Roubaninc: 22d4097b4aSYevgeny Rouban call void @incf() 23d4097b4aSYevgeny Rouban br label %loop_begin 24d4097b4aSYevgeny Rouban 25d4097b4aSYevgeny Roubandec: 26d4097b4aSYevgeny Rouban call void @decf() 27d4097b4aSYevgeny Rouban br label %loop_begin 28d4097b4aSYevgeny Rouban 29d4097b4aSYevgeny Roubandefault: 30d4097b4aSYevgeny Rouban ret i32 0 31d4097b4aSYevgeny Rouban} 32d4097b4aSYevgeny Rouban 335c31b8b9SArthur Eubanks; CHECK: ![[MD0]] = !{!"branch_weights", i32 99, i32 1, i32 2} 345c31b8b9SArthur Eubanks; CHECK: ![[MD1]] = !{!"branch_weights", i32 2, i32 1} 35