[clang] [M68k][clang] Enable frame pointer optimization by default (PR #87264)
https://github.com/0x59616e closed https://github.com/llvm/llvm-project/pull/87264 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [M68k][clang] Enable frame pointer optimization by default (PR #87264)
n8pjl wrote: This is a necessary change to make m68k clang competitive in performance to GCC, and aligns with #88300. Reviewed and tested the change. LGTM, but I'm not a maintainer. https://github.com/llvm/llvm-project/pull/87264 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [M68k][clang] Enable frame pointer optimization by default (PR #87264)
llvmbot wrote: @llvm/pr-subscribers-clang-driver Author: Jim Lin (tclin914) Changes Enable frame pointer optimization by default to match it with gcc. Fixes: https://github.com/llvm/llvm-project/issues/75013 --- Full diff: https://github.com/llvm/llvm-project/pull/87264.diff 2 Files Affected: - (modified) clang/lib/Driver/ToolChains/CommonArgs.cpp (+1) - (modified) clang/test/Driver/frame-pointer-elim.c (+6) ``diff diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index ace4fb99581e38..ae49f1906053dc 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -114,6 +114,7 @@ static bool useFramePointerForTargetByDefault(const llvm::opt::ArgList , case llvm::Triple::csky: case llvm::Triple::loongarch32: case llvm::Triple::loongarch64: + case llvm::Triple::m68k: return !clang::driver::tools::areOptimizationsEnabled(Args); default: break; diff --git a/clang/test/Driver/frame-pointer-elim.c b/clang/test/Driver/frame-pointer-elim.c index 847c5b7b0b01f3..e1b0a468ab8259 100644 --- a/clang/test/Driver/frame-pointer-elim.c +++ b/clang/test/Driver/frame-pointer-elim.c @@ -125,6 +125,12 @@ // RUN: %clang -### -target sparc64 -S -O1 %s 2>&1 | \ // RUN: FileCheck --check-prefix=KEEP-NONE %s +// M68k targets omit the frame pointer when optimizations are enabled. +// RUN: %clang -### -target m68k -S %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-ALL %s +// RUN: %clang -### -target m68k -S -O1 %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-NONE %s + // For AAarch32 (A32, T32) linux targets, default omit frame pointer when // optimizations are enabled. // RUN: %clang -### -target arm-linux-gnueabihf- -marm -S %s 2>&1 | \ `` https://github.com/llvm/llvm-project/pull/87264 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [M68k][clang] Enable frame pointer optimization by default (PR #87264)
https://github.com/tclin914 created https://github.com/llvm/llvm-project/pull/87264 Enable frame pointer optimization by default to match it with gcc. Fixes: https://github.com/llvm/llvm-project/issues/75013 >From 4eeb31d4ad8503db9a1cc079eeb9aa4186136719 Mon Sep 17 00:00:00 2001 From: Jim Lin Date: Sat, 30 Mar 2024 02:54:31 +0800 Subject: [PATCH] [M68k][clang] Enable frame pointer optimization by default Enable frame pointer optimization by default to match it with gcc. Fixes: https://github.com/llvm/llvm-project/issues/75013 --- clang/lib/Driver/ToolChains/CommonArgs.cpp | 1 + clang/test/Driver/frame-pointer-elim.c | 6 ++ 2 files changed, 7 insertions(+) diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index ace4fb99581e38..ae49f1906053dc 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -114,6 +114,7 @@ static bool useFramePointerForTargetByDefault(const llvm::opt::ArgList , case llvm::Triple::csky: case llvm::Triple::loongarch32: case llvm::Triple::loongarch64: + case llvm::Triple::m68k: return !clang::driver::tools::areOptimizationsEnabled(Args); default: break; diff --git a/clang/test/Driver/frame-pointer-elim.c b/clang/test/Driver/frame-pointer-elim.c index 847c5b7b0b01f3..e1b0a468ab8259 100644 --- a/clang/test/Driver/frame-pointer-elim.c +++ b/clang/test/Driver/frame-pointer-elim.c @@ -125,6 +125,12 @@ // RUN: %clang -### -target sparc64 -S -O1 %s 2>&1 | \ // RUN: FileCheck --check-prefix=KEEP-NONE %s +// M68k targets omit the frame pointer when optimizations are enabled. +// RUN: %clang -### -target m68k -S %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-ALL %s +// RUN: %clang -### -target m68k -S -O1 %s 2>&1 | \ +// RUN: FileCheck --check-prefix=KEEP-NONE %s + // For AAarch32 (A32, T32) linux targets, default omit frame pointer when // optimizations are enabled. // RUN: %clang -### -target arm-linux-gnueabihf- -marm -S %s 2>&1 | \ ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits