1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --include-generated-funcs 2; RUN: opt -S -verify -iroutliner -ir-outlining-no-cost < %s | FileCheck %s 3 4; This checks that we are able to outline exactly the same structure without 5; any other items to outline. 6 7define void @outline_outputs1() #0 { 8entry: 9 br label %next 10next: 11 br label %next2 12next2: 13 br label %next 14next3: 15 %a = alloca i32, align 4 16 br label %next4 17next4: 18 br label %next3 19next5: 20 br label %next6 21next6: 22 %b = alloca i32, align 4 23 ret void 24} 25 26; CHECK-LABEL: @outline_outputs1( 27; CHECK-NEXT: entry: 28; CHECK-NEXT: br label [[NEXT:%.*]] 29; CHECK: next: 30; CHECK-NEXT: call void @outlined_ir_func_0() 31; CHECK-NEXT: br label [[NEXT]] 32; CHECK: next3: 33; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 34; CHECK-NEXT: call void @outlined_ir_func_0() 35; CHECK-NEXT: br label [[NEXT3:%.*]] 36; CHECK: next5: 37; CHECK-NEXT: br label [[NEXT6:%.*]] 38; CHECK: next6: 39; CHECK-NEXT: [[B:%.*]] = alloca i32, align 4 40; CHECK-NEXT: ret void 41; 42; 43; CHECK: define internal void @outlined_ir_func_0( 44; CHECK: newFuncRoot: 45; CHECK-NEXT: br label [[NEXT_TO_OUTLINE:%.*]] 46; CHECK: next_to_outline: 47; CHECK-NEXT: br label [[NEXT2:%.*]] 48; CHECK: next2: 49; CHECK-NEXT: br label [[NEXT_EXITSTUB:%.*]] 50; CHECK: next.exitStub: 51; CHECK-NEXT: ret void 52; 53