brzycki created this revision. brzycki added reviewers: abdulras, rengolin, jmolloy. brzycki added subscribers: cfe-commits, sebpop, evandro. Herald added subscribers: rengolin, aemerson.
The GNU profiling support indicates that the interface is `_mcount` rather than `mcount` on GLIBC Linux for AArch64. http://reviews.llvm.org/D21907 Files: clang/lib/Basic/Targets.cpp clang/test/Frontend/gnu-mcount.c Index: clang/test/Frontend/gnu-mcount.c =================================================================== --- clang/test/Frontend/gnu-mcount.c +++ clang/test/Frontend/gnu-mcount.c @@ -6,6 +6,7 @@ // 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 // RUN: %clang -target aarch64-unknown-linux-gnueabi -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI // 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 +// RUN: %clang -target aarch64-unknown-linux-gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-LINUX-GNU // RUN: %clang -target armv7-unknown-linux-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI // 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 // RUN: %clang -target aarch64-unknown-linux-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI @@ -44,6 +45,7 @@ } // CHECK-LABEL: f +// CHECK-ARM64-LINUX-GNU: call void @_mcount() // CHECK-ARM-IOS-NOT: call void @_mcount() // CHECK-ARM-IOS-NOT: call void @"\01__gnu_mcount_nc"() // CHECK-ARM-EABI: call void @"\01mcount"() Index: clang/lib/Basic/Targets.cpp =================================================================== --- clang/lib/Basic/Targets.cpp +++ clang/lib/Basic/Targets.cpp @@ -471,6 +471,7 @@ case llvm::Triple::ppc: case llvm::Triple::ppc64: case llvm::Triple::ppc64le: + case llvm::Triple::aarch64: this->MCountName = "_mcount"; break; case llvm::Triple::x86:
Index: clang/test/Frontend/gnu-mcount.c =================================================================== --- clang/test/Frontend/gnu-mcount.c +++ clang/test/Frontend/gnu-mcount.c @@ -6,6 +6,7 @@ // 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 // RUN: %clang -target aarch64-unknown-linux-gnueabi -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI // 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 +// RUN: %clang -target aarch64-unknown-linux-gnu -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-LINUX-GNU // RUN: %clang -target armv7-unknown-linux-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM-EABI // 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 // RUN: %clang -target aarch64-unknown-linux-gnueabihf -pg -S -emit-llvm -o - %s | FileCheck %s -check-prefix CHECK -check-prefix CHECK-ARM64-EABI @@ -44,6 +45,7 @@ } // CHECK-LABEL: f +// CHECK-ARM64-LINUX-GNU: call void @_mcount() // CHECK-ARM-IOS-NOT: call void @_mcount() // CHECK-ARM-IOS-NOT: call void @"\01__gnu_mcount_nc"() // CHECK-ARM-EABI: call void @"\01mcount"() Index: clang/lib/Basic/Targets.cpp =================================================================== --- clang/lib/Basic/Targets.cpp +++ clang/lib/Basic/Targets.cpp @@ -471,6 +471,7 @@ case llvm::Triple::ppc: case llvm::Triple::ppc64: case llvm::Triple::ppc64le: + case llvm::Triple::aarch64: this->MCountName = "_mcount"; break; case llvm::Triple::x86:
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits