1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2; RUN: opt < %s -passes=inline -S | FileCheck %s 3 4; PR42084 5 6define internal fastcc void @func4() { 7; CHECK-LABEL: @func4( 8; CHECK-NEXT: entry: 9; CHECK-NEXT: br label [[FOR_COND:%.*]] 10; CHECK: for.cond: 11; CHECK-NEXT: tail call void (...) @g() 12; CHECK-NEXT: br label [[FOR_COND]] 13; 14entry: 15 br label %for.cond 16 17for.cond: 18 tail call void (...) @g() 19 br label %for.cond 20} 21 22define internal fastcc void @func3() { 23; CHECK-LABEL: @func3( 24; CHECK-NEXT: entry: 25; CHECK-NEXT: tail call fastcc void @func4() 26; CHECK-NEXT: unreachable 27; 28entry: 29 tail call fastcc void @func4() 30 unreachable 31} 32 33define internal fastcc void @func2() { 34; CHECK-LABEL: @func2( 35; CHECK-NEXT: entry: 36; CHECK-NEXT: tail call fastcc void @func3() 37; CHECK-NEXT: unreachable 38; 39entry: 40 tail call fastcc void @func3() 41 unreachable 42} 43 44define internal fastcc void @func1() { 45; CHECK-LABEL: @func1( 46; CHECK-NEXT: entry: 47; CHECK-NEXT: tail call fastcc void @func2() 48; CHECK-NEXT: unreachable 49; 50entry: 51 tail call fastcc void @func2() 52 unreachable 53} 54 55define i32 @main() { 56; CHECK-LABEL: @main( 57; CHECK-NEXT: entry: 58; CHECK-NEXT: tail call fastcc void @func1() 59; CHECK-NEXT: unreachable 60; 61entry: 62 tail call fastcc void @func1() 63 unreachable 64} 65 66declare void @g(...) 67