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 when swifttaill cc or tailcc 51643f012SAndrew Litteken; is not present. 61643f012SAndrew Litteken 71643f012SAndrew Littekendeclare void @musttail() 81643f012SAndrew Litteken 91643f012SAndrew Littekendefine void @f1() { 101643f012SAndrew Litteken %a = alloca i32, align 4 11*f4b925eeSMatt Arsenault store i32 2, ptr %a, align 4 121643f012SAndrew Litteken musttail call void @musttail() 131643f012SAndrew Litteken ret void 141643f012SAndrew Litteken} 151643f012SAndrew Litteken 161643f012SAndrew Littekendefine void @f2() { 171643f012SAndrew Litteken %a = alloca i32, align 4 18*f4b925eeSMatt Arsenault store i32 2, ptr %a, align 4 191643f012SAndrew Litteken musttail call void @musttail() 201643f012SAndrew Litteken ret void 211643f012SAndrew Litteken} 221643f012SAndrew Litteken; CHECK-LABEL: @f1( 231643f012SAndrew Litteken; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 24*f4b925eeSMatt Arsenault; CHECK-NEXT: store i32 2, ptr [[A]], align 4 251643f012SAndrew Litteken; CHECK-NEXT: musttail call void @musttail() 261643f012SAndrew Litteken; CHECK-NEXT: ret void 271643f012SAndrew Litteken; 281643f012SAndrew Litteken; 291643f012SAndrew Litteken; CHECK-LABEL: @f2( 301643f012SAndrew Litteken; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4 31*f4b925eeSMatt Arsenault; CHECK-NEXT: store i32 2, ptr [[A]], align 4 321643f012SAndrew Litteken; CHECK-NEXT: musttail call void @musttail() 331643f012SAndrew Litteken; CHECK-NEXT: ret void 341643f012SAndrew Litteken; 35