45 lines · plain
1; RUN: llc -mtriple aarch64 -enable-machine-outliner \2; RUN: -verify-machineinstrs %s -o - | FileCheck %s3 4@v = common dso_local global ptr null, align 85 6; CHECK-LABEL: foo: // @foo7; CHECK-NEXT: // %bb.0: // %entry8; CHECK-NEXT: paciasp9; CHECK-NOT: OUTLINED_FUNCTION_10; CHECK: retaa11define dso_local void @foo(i32 %x) #0 {12entry:13 %0 = zext i32 %x to i6414 %vla = alloca i32, i64 %0, align 415 store volatile ptr %vla, ptr @v, align 816 store volatile ptr %vla, ptr @v, align 817 store volatile ptr %vla, ptr @v, align 818 store volatile ptr %vla, ptr @v, align 819 store volatile ptr %vla, ptr @v, align 820 store volatile ptr %vla, ptr @v, align 821 ret void22}23 24; CHECK-LABEL: bar: // @bar25; CHECK-NEXT: // %bb.0: // %entry26; CHECK-NEXT: paciasp27; CHECK-NOT: OUTLINED_FUNCTION_28; CHECK: retaa29define dso_local void @bar(i32 %x) #0 {30entry:31 %0 = zext i32 %x to i6432 %vla = alloca i32, i64 %0, align 433 store volatile ptr null, ptr @v, align 834 store volatile ptr %vla, ptr @v, align 835 store volatile ptr %vla, ptr @v, align 836 store volatile ptr %vla, ptr @v, align 837 store volatile ptr %vla, ptr @v, align 838 store volatile ptr %vla, ptr @v, align 839 ret void40}41 42attributes #0 = { nounwind "target-features"="+v8.3a" "frame-pointer"="all" "sign-return-address"="all" "sign-return-address-key"="a_key" }43 44; CHECK-NOT: OUTLINED_FUNCTION_45