1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --include-generated-funcs 2; RUN: opt -S -passes=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 %next3 14next3: 15 %a = alloca i32, align 4 16 br label %next4 17next4: 18 br label %next5 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: call void @outlined_ir_func_0() 29; CHECK-NEXT: br label [[NEXT3:%.*]] 30; CHECK: next3: 31; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 32; CHECK-NEXT: call void @outlined_ir_func_0() 33; CHECK-NEXT: br label [[NEXT6:%.*]] 34; CHECK: next6: 35; CHECK-NEXT: [[B:%.*]] = alloca i32, align 4 36; CHECK-NEXT: ret void 37; 38; 39; CHECK: define internal void @outlined_ir_func_0( 40; CHECK-NEXT: newFuncRoot: 41; CHECK-NEXT: br label [[ENTRY_TO_OUTLINE:%.*]] 42; CHECK: entry_to_outline: 43; CHECK-NEXT: br label [[NEXT:%.*]] 44; CHECK: next: 45; CHECK-NEXT: br label [[NEXT2:%.*]] 46; CHECK: next2: 47; CHECK-NEXT: br label [[NEXT3_EXITSTUB:%.*]] 48; CHECK: next3.exitStub: 49; CHECK-NEXT: ret void 50; 51