xref: /aosp_15_r20/external/clang/test/Frontend/gnu-mcount.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang -target armv7-unknown-none-eabi -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI
2*67e74705SXin Li // RUN: %clang -target armv7-unknown-none-eabi -pg -meabi gnu -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-MEABI-GNU
3*67e74705SXin Li // RUN: %clang -target aarch64-unknown-none-eabi -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI
4*67e74705SXin Li // RUN: %clang -target aarch64-unknown-none-eabi -pg -meabi gnu -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-MEABI-GNU
5*67e74705SXin Li // RUN: %clang -target armv7-unknown-linux-gnueabi -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI
6*67e74705SXin Li // RUN: %clang -target armv7-unknown-linux-gnueabi -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-MEABI-GNU
7*67e74705SXin Li // RUN: %clang -target aarch64-unknown-linux-gnueabi -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI
8*67e74705SXin Li // RUN: %clang -target aarch64-unknown-linux-gnueabi -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-MEABI-GNU
9*67e74705SXin Li // RUN: %clang -target armv7-unknown-linux-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI
10*67e74705SXin Li // RUN: %clang -target armv7-unknown-linux-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-MEABI-GNU
11*67e74705SXin Li // RUN: %clang -target aarch64-unknown-linux-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI
12*67e74705SXin Li // RUN: %clang -target aarch64-unknown-linux-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-MEABI-GNU
13*67e74705SXin Li // RUN: %clang -target armv7-unknown-freebsd-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-FREEBSD
14*67e74705SXin Li // RUN: %clang -target armv7-unknown-freebsd-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-FREEBSD
15*67e74705SXin Li // RUN: %clang -target aarch64-unknown-freebsd-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-FREEBSD
16*67e74705SXin Li // RUN: %clang -target aarch64-unknown-freebsd-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-FREEBSD
17*67e74705SXin Li // RUN: %clang -target armv7-unknown-openbsd-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-OPENBSD
18*67e74705SXin Li // RUN: %clang -target armv7-unknown-openbsd-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-OPENBSD
19*67e74705SXin Li // RUN: %clang -target aarch64-unknown-openbsd-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-OPENBSD
20*67e74705SXin Li // RUN: %clang -target aarch64-unknown-openbsd-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-OPENBSD
21*67e74705SXin Li // RUN: %clang -target armv7-unknown-netbsd-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-NETBSD
22*67e74705SXin Li // RUN: %clang -target armv7-unknown-netbsd-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-NETBSD
23*67e74705SXin Li // RUN: %clang -target aarch64-unknown-netbsd-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-NETBSD
24*67e74705SXin Li // RUN: %clang -target aarch64-unknown-netbsd-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-NETBSD
25*67e74705SXin Li // RUN: %clang -target armv7-apple-ios -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-IOS
26*67e74705SXin Li // RUN: %clang -target armv7-apple-ios -pg -meabi gnu -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-IOS
27*67e74705SXin Li // RUN: %clang -target arm64-apple-ios -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-IOS
28*67e74705SXin Li // RUN: %clang -target arm64-apple-ios -pg -meabi gnu -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-IOS
29*67e74705SXin Li // RUN: %clang -target armv7-unknown-bitrig-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-BIGRIG
30*67e74705SXin Li // RUN: %clang -target armv7-unknown-bitrig-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-BIGRIG
31*67e74705SXin Li // RUN: %clang -target aarch64-unknown-bitrig-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-BITRIG
32*67e74705SXin Li // RUN: %clang -target aarch64-unknown-bitrig-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-BITRIG
33*67e74705SXin Li // RUN: %clang -target armv7-unknown-rtems-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-RTEMS
34*67e74705SXin Li // RUN: %clang -target armv7-unknown-rtems-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-RTEMS
35*67e74705SXin Li // RUN: %clang -target aarch64-unknown-rtems-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-RTEMS
36*67e74705SXin Li // RUN: %clang -target aarch64-unknown-rtems-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-RTEMS
37*67e74705SXin Li // RUN: %clang -target armv7-unknown-cloudabi-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-CLOUDABI
38*67e74705SXin Li // RUN: %clang -target armv7-unknown-cloudabi-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI-CLOUDABI
39*67e74705SXin Li // RUN: %clang -target aarch64-unknown-cloudabi-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-CLOUDABI
40*67e74705SXin Li // RUN: %clang -target aarch64-unknown-cloudabi-gnueabihf -meabi gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI-CLOUDABI
41*67e74705SXin Li 
f()42*67e74705SXin Li int f() {
43*67e74705SXin Li   return 0;
44*67e74705SXin Li }
45*67e74705SXin Li 
46*67e74705SXin Li // CHECK-LABEL: f
47*67e74705SXin Li // CHECK-ARM-IOS-NOT: call void @_mcount()
48*67e74705SXin Li // CHECK-ARM-IOS-NOT: call void @"\01__gnu_mcount_nc"()
49*67e74705SXin Li // CHECK-ARM-EABI: call void @"\01mcount"()
50*67e74705SXin Li // CHECK-ARM-EABI-NOT: call void @"\01__gnu_mcount_nc"()
51*67e74705SXin Li // CHECK-ARM64-EABI: call void @mcount()
52*67e74705SXin Li // CHECK-ARM64-EABI-MEABI-GNU: call void @"\01_mcount"()
53*67e74705SXin Li // CHECK-ARM64-EABI-NOT: call void @"\01__gnu_mcount_nc"()
54*67e74705SXin Li // CHECK-ARM-EABI-FREEBSD: call void @__mcount()
55*67e74705SXin Li // CHECK-ARM-EABI-FREEBSD-NOT: call void @"\01__gnu_mcount_nc"()
56*67e74705SXin Li // CHECK-ARM64-EABI-FREEBSD: call void @.mcount()
57*67e74705SXin Li // CHECK-ARM64-EABI-FREEBSD-NOT: call void @"\01__gnu_mcount_nc"()
58*67e74705SXin Li // CHECK-ARM-EABI-NETBSD: call void @_mcount()
59*67e74705SXin Li // CHECK-ARM-EABI-NETBSD-NOT: call void @"\01__gnu_mcount_nc"()
60*67e74705SXin Li // CHECK-ARM-EABI-OPENBSD: call void @__mcount()
61*67e74705SXin Li // CHECK-ARM-EABI-OPENBSD-NOT: call void @"\01__gnu_mcount_nc"()
62*67e74705SXin Li // CHECK-ARM64-EABI-OPENBSD: call void @mcount()
63*67e74705SXin Li // CHECK-ARM64-EABI-OPENBSD-NOT: call void @"\01__gnu_mcount_nc"()
64*67e74705SXin Li // CHECK-ARM-EABI-MEABI-GNU-NOT: call void @mcount()
65*67e74705SXin Li // CHECK-ARM-EABI-MEABI-GNU: call void @"\01__gnu_mcount_nc"()
66*67e74705SXin Li // CHECK-ARM-EABI-BITRIG: call void @__mcount()
67*67e74705SXin Li // CHECK-ARM-EABI-BITRIG-NOT: call void @"\01__gnu_mcount_nc"()
68*67e74705SXin Li // CHECK-ARM54-EABI-BITRIG: call void @mcount()
69*67e74705SXin Li // CHECK-ARM54-EABI-BITRIG-NOT: call void @"\01__gnu_mcount_nc"()
70*67e74705SXin Li // CHECK-ARM-EABI-RTEMS: call void @mcount()
71*67e74705SXin Li // CHECK-ARM-EABI-RTEMS-NOT: call void @"\01__gnu_mcount_nc"()
72*67e74705SXin Li // CHECK-ARM64-EABI-RTEMS: call void @mcount()
73*67e74705SXin Li // CHECK-ARM64-EABI-RTEMS-NOT: call void @"\01__gnu_mcount_nc"()
74*67e74705SXin Li // CHECK-ARM-EABI-CLOUDABI: call void @mcount()
75*67e74705SXin Li // CHECK-ARM-EABI-CLOUDABI-NOT: call void @"\01__gnu_mcount_nc"()
76*67e74705SXin Li // CHECK-ARM64-EABI-CLOUDABI: call void @mcount()
77*67e74705SXin Li // CHECK-ARM64-EABI-CLOUDABI-NOT: call void @"\01__gnu_mcount_nc"()
78*67e74705SXin Li 
79