34 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; Check that we do not outline musttail calls when swifttailcc is present.5 6declare swifttailcc void @musttail()7 8define swifttailcc void @f1() {9 %a = alloca i32, align 410 store i32 2, ptr %a, align 411 musttail call swifttailcc void @musttail()12 ret void13}14 15define swifttailcc void @f2() {16 %a = alloca i32, align 417 store i32 2, ptr %a, align 418 musttail call swifttailcc void @musttail()19 ret void20}21; CHECK-LABEL: @f1(22; CHECK-NEXT: [[A:%.*]] = alloca i32, align 423; CHECK-NEXT: store i32 2, ptr [[A]], align 424; CHECK-NEXT: musttail call swifttailcc void @musttail()25; CHECK-NEXT: ret void26;27;28; CHECK-LABEL: @f2(29; CHECK-NEXT: [[A:%.*]] = alloca i32, align 430; CHECK-NEXT: store i32 2, ptr [[A]], align 431; CHECK-NEXT: musttail call swifttailcc void @musttail()32; CHECK-NEXT: ret void33;34