https://github.com/ilovepi created https://github.com/llvm/llvm-project/pull/114483
None >From 6b2c4fd97913cb839c0a5408ef127ec855457e88 Mon Sep 17 00:00:00 2001 From: Paul Kirth <paulki...@google.com> Date: Thu, 31 Oct 2024 23:05:04 +0000 Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?= =?UTF-8?q?l=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.4 --- clang/lib/Driver/ToolChains/CommonArgs.cpp | 6 ++--- clang/test/Driver/frame-pointer-elim.c | 9 +++++++ clang/test/Driver/frame-pointer.c | 28 ++++++++++++++-------- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 1c3c8c816594e5..a4f28e132e5112 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -79,7 +79,7 @@ static bool useFramePointerForTargetByDefault(const llvm::opt::ArgList &Args, !Args.hasArg(clang::driver::options::OPT_mfentry)) return true; - if (Triple.isAndroid()) + if (Triple.isAndroid() || Triple.isOSFuchsia()) return true; switch (Triple.getArch()) { @@ -110,7 +110,7 @@ static bool useFramePointerForTargetByDefault(const llvm::opt::ArgList &Args, break; } - if (Triple.isOSFuchsia() || Triple.isOSNetBSD()) { + if (Triple.isOSNetBSD()) { return !clang::driver::tools::areOptimizationsEnabled(Args); } @@ -156,7 +156,7 @@ static bool useFramePointerForTargetByDefault(const llvm::opt::ArgList &Args, static bool useLeafFramePointerForTargetByDefault(const llvm::Triple &Triple) { if (Triple.isAArch64() || Triple.isPS() || Triple.isVE() || - (Triple.isAndroid() && !Triple.isARM())) + (Triple.isAndroid() && !Triple.isARM()) || Triple.isOSFuchsia()) return false; return true; diff --git a/clang/test/Driver/frame-pointer-elim.c b/clang/test/Driver/frame-pointer-elim.c index cdedcc7ae4c89f..77a26fb42dfbad 100644 --- a/clang/test/Driver/frame-pointer-elim.c +++ b/clang/test/Driver/frame-pointer-elim.c @@ -105,6 +105,13 @@ // RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s // RUN: %clang -### --target=aarch64-linux-android -S -Os %s 2>&1 | \ // RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s +// RUN: %clang -### --target=aarch64-unknown-fuchsia -S %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s +// RUN: %clang -### --target=aarch64-unknown-fuchsia -S -O2 %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s +// RUN: %clang -### --target=aarch64-unknown-fuchsia -S -Os %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s + // RUN: %clang -### --target=powerpc64 -S %s 2>&1 | \ // RUN: FileCheck --check-prefix=KEEP-ALL %s @@ -162,5 +169,7 @@ // RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s // RUN: not %clang -### --target=riscv64-linux-android -mbig-endian -O1 -S %s 2>&1 | \ // RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s +// RUN: %clang -### --target=riscv64-unknown-fuchsia -O1 -S %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s void f0() {} void f1() { f0(); } diff --git a/clang/test/Driver/frame-pointer.c b/clang/test/Driver/frame-pointer.c index 2015fa520c2a2e..112fe8bf741025 100644 --- a/clang/test/Driver/frame-pointer.c +++ b/clang/test/Driver/frame-pointer.c @@ -4,9 +4,9 @@ // RUN: %clang --target=i386-pc-linux -### -S -O3 %s 2>&1 | FileCheck -check-prefix=CHECK3-32 %s // RUN: %clang --target=i386-pc-linux -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECKs-32 %s -// RUN: %clang --target=i386-linux-android -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s -// RUN: %clang --target=i386-linux-android -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s -// RUN: %clang --target=i386-linux-android -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s +// RUN: %clang --target=i386-linux-android -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=i386-linux-android -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=i386-linux-android -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s // RUN: %clang --target=x86_64-pc-linux -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK0-64 %s // RUN: %clang --target=x86_64-pc-linux -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK1-64 %s @@ -15,9 +15,13 @@ // RUN: %clang --target=x86_64-pc-linux -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECKs-64 %s // RUN: %clang --target=x86_64-pc-win32-macho -### -S -O3 %s 2>&1 | FileCheck -check-prefix=CHECK-MACHO-64 %s -// RUN: %clang --target=x86_64-linux-android -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s -// RUN: %clang --target=x86_64-linux-android -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s -// RUN: %clang --target=x86_64-linux-android -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s +// RUN: %clang --target=x86_64-linux-android -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=x86_64-linux-android -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=x86_64-linux-android -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s + +// RUN: %clang --target=x86_64-unknown-fuchsia -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=x86_64-unknown-fuchsia -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=x86_64-unknown-fuchsia -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s // Trust the above to get the optimizations right, and just test other targets // that want this by default. @@ -64,9 +68,13 @@ // RUN: %clang --target=riscv64-unknown-linux-gnu -### -S -O3 %s 2>&1 | FileCheck -check-prefix=CHECK3-64 %s // RUN: %clang --target=riscv64-unknown-linux-gnu -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECKs-64 %s -// RUN: %clang --target=riscv64-linux-android -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s -// RUN: %clang --target=riscv64-linux-android -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s -// RUN: %clang --target=riscv64-linux-android -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-ANDROID %s +// RUN: %clang --target=riscv64-linux-android -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=riscv64-linux-android -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=riscv64-linux-android -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// +// RUN: %clang --target=riscv64-unknown-fuchsia -### -S -O0 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=riscv64-unknown-fuchsia -### -S -O1 %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s +// RUN: %clang --target=riscv64-unknown-fuchsia -### -S -Os %s 2>&1 | FileCheck -check-prefix=CHECK-NONLEAF %s // RUN: %clang --target=loongarch32 -### -S -O0 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK0-32 %s // RUN: %clang --target=loongarch32 -### -S -O1 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK1-32 %s @@ -93,4 +101,4 @@ // CHECKs-64-NOT: -mframe-pointer=all // CHECK-MACHO-64: -mframe-pointer=all -// CHECK-ANDROID: -mframe-pointer=non-leaf +// CHECK-NONLEAF: -mframe-pointer=non-leaf _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits