[clang] 3d32218 - [VE] Change to omitting the frame pointer on leaf functions
Kazushi Marukawa via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 3 01:45:23 PDT 2021
Author: Kazushi (Jam) Marukawa
Date: 2021-11-03T17:45:18+09:00
New Revision: 3d32218d1af29a86389357b75af31af36dec051a
URL: https://github.com/llvm/llvm-project/commit/3d32218d1af29a86389357b75af31af36dec051a
DIFF: https://github.com/llvm/llvm-project/commit/3d32218d1af29a86389357b75af31af36dec051a.diff
LOG: [VE] Change to omitting the frame pointer on leaf functions
Change to omitting the frame pointer on leaf functions by default for VE.
Reviewed By: simoll
Differential Revision: https://reviews.llvm.org/D113087
Added:
Modified:
clang/lib/Driver/ToolChains/Clang.cpp
clang/test/Driver/frame-pointer-elim.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index c77413ddf1ace..2dd10a7b31061 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -613,7 +613,8 @@ getFramePointerKind(const ArgList &Args, const llvm::Triple &Triple) {
A && A->getOption().matches(options::OPT_fno_omit_frame_pointer);
bool OmitLeafFP = Args.hasFlag(options::OPT_momit_leaf_frame_pointer,
options::OPT_mno_omit_leaf_frame_pointer,
- Triple.isAArch64() || Triple.isPS4CPU());
+ Triple.isAArch64() || Triple.isPS4CPU() ||
+ Triple.isVE());
if (NoOmitFP || mustUseNonLeafFramePointerForTarget(Triple) ||
(!OmitFP && useFramePointerForTargetByDefault(Args, Triple))) {
if (OmitLeafFP)
diff --git a/clang/test/Driver/frame-pointer-elim.c b/clang/test/Driver/frame-pointer-elim.c
index 83dbf3816b684..beb14a9a671a6 100644
--- a/clang/test/Driver/frame-pointer-elim.c
+++ b/clang/test/Driver/frame-pointer-elim.c
@@ -90,7 +90,8 @@
// WARN-OMIT-LEAF-7S-NOT: warning: optimization flag '-momit-leaf-frame-pointer' is not supported for target 'armv7s'
// WARN-OMIT-LEAF-7S: "-mframe-pointer=non-leaf"
-// On AArch64 and PS4, default to omitting the frame pointer on leaf functions
+// On AArch64, PS4, and VE, default to omitting the frame pointer on leaf
+// functions
// RUN: %clang -### -target aarch64 -S %s 2>&1 | \
// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s
// RUN: %clang -### -target x86_64-scei-ps4 -S %s 2>&1 | \
@@ -99,6 +100,8 @@
// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s
// RUN: %clang -### -target aarch64-apple-darwin -arch arm64_32 -S %s 2>&1 | \
// RUN: FileCheck --check-prefix=KEEP-NON-LEAF %s
+// RUN: %clang -### -target ve-unknown-linux-gnu -S %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
More information about the cfe-commits
mailing list