11643f012SAndrew Litteken; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --include-generated-funcs 29dd9575cSRoman Lebedev; RUN: opt -S -passes=verify,iroutliner -ir-outlining-no-cost < %s | FileCheck %s 31643f012SAndrew Litteken 41643f012SAndrew Litteken; Check that we do not outline musttail calls when swifttailcc is present. 51643f012SAndrew Litteken 61643f012SAndrew Littekendeclare swifttailcc void @musttail() 71643f012SAndrew Litteken 81643f012SAndrew Littekendefine swifttailcc void @f1() { 91643f012SAndrew Litteken %a = alloca i32, align 4 10*f4b925eeSMatt Arsenault store i32 2, ptr %a, align 4 111643f012SAndrew Litteken musttail call swifttailcc void @musttail() 121643f012SAndrew Litteken ret void 131643f012SAndrew Litteken} 141643f012SAndrew Litteken 151643f012SAndrew Littekendefine swifttailcc void @f2() { 161643f012SAndrew Litteken %a = alloca i32, align 4 17*f4b925eeSMatt Arsenault store i32 2, ptr %a, align 4 181643f012SAndrew Litteken musttail call swifttailcc void @musttail() 191643f012SAndrew Litteken ret void 201643f012SAndrew Litteken} 211643f012SAndrew Litteken; CHECK-LABEL: @f1( 221643f012SAndrew Litteken; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 23*f4b925eeSMatt Arsenault; CHECK-NEXT: store i32 2, ptr [[A]], align 4 241643f012SAndrew Litteken; CHECK-NEXT: musttail call swifttailcc void @musttail() 251643f012SAndrew Litteken; CHECK-NEXT: ret void 261643f012SAndrew Litteken; 271643f012SAndrew Litteken; 281643f012SAndrew Litteken; CHECK-LABEL: @f2( 291643f012SAndrew Litteken; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 30*f4b925eeSMatt Arsenault; CHECK-NEXT: store i32 2, ptr [[A]], align 4 311643f012SAndrew Litteken; CHECK-NEXT: musttail call swifttailcc void @musttail() 321643f012SAndrew Litteken; CHECK-NEXT: ret void 331643f012SAndrew Litteken; 34