https://github.com/ecnelises created https://github.com/llvm/llvm-project/pull/94581
None >From 4e078099d8e15fd984ef38435d6f792bbb3d754c Mon Sep 17 00:00:00 2001 From: Qiu Chaofan <qiuco...@cn.ibm.com> Date: Thu, 6 Jun 2024 14:06:48 +0800 Subject: [PATCH] [PowerPC] Support -mno-red-zone option --- clang/lib/Driver/ToolChains/Clang.cpp | 3 +++ clang/test/Driver/flags.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 4e1c52462e584..3a37c05c8b44b 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -2022,6 +2022,9 @@ void Clang::AddPPCTargetArgs(const ArgList &Args, CmdArgs.push_back("-mabi=vec-extabi"); } + if (!Args.hasFlag(options::OPT_mred_zone, options::OPT_mno_red_zone, true)) + CmdArgs.push_back("-disable-red-zone"); + ppc::FloatABI FloatABI = ppc::getPPCFloatABI(D, Args); if (FloatABI == ppc::FloatABI::Soft) { // Floating point operations and argument passing are soft. diff --git a/clang/test/Driver/flags.c b/clang/test/Driver/flags.c index 16b760609c36d..7d2bef63fca3e 100644 --- a/clang/test/Driver/flags.c +++ b/clang/test/Driver/flags.c @@ -33,3 +33,6 @@ // // RUN: %clang --target=riscv64 -### -S -mno-implicit-float %s 2>&1 | FileCheck -check-prefix=TEST11 %s // TEST11: "-no-implicit-float" +// +// RUN: %clang --target=ppc64le -### -S -mno-red-zone %s 2>&1 | FileCheck -check-prefix=TEST12 %s +// TEST12: "-disable-red-zone" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits