51 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --include-generated-funcs2; RUN: opt -S -passes=verify,iroutliner -ir-outlining-no-cost < %s | FileCheck %s3 4; This checks that we are able to outline exactly the same structure without5; any other items to outline.6 7define void @outline_outputs1() #0 {8entry:9 br label %next10next:11 br label %next212next2:13 br label %next314next3:15 %a = alloca i32, align 416 br label %next417next4:18 br label %next519next5:20 br label %next621next6:22 %b = alloca i32, align 423 ret void24}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 432; CHECK-NEXT: call void @outlined_ir_func_0()33; CHECK-NEXT: br label [[NEXT6:%.*]]34; CHECK: next6:35; CHECK-NEXT: [[B:%.*]] = alloca i32, align 436; CHECK-NEXT: ret void37;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 void50;51