mirror of
https://github.com/intel/llvm.git
synced 2026-02-02 18:18:09 +08:00
[Driver] Default Generic_GCC ppc/ppc64/ppc64le to -fasynchronous-unwind-tables
GCC made the switch on 2018-04-10 ("rs6000: Enable -fasynchronous-unwind-tables by default").
In Clang, FreeBSD/NetBSD powerpc have already defaulted to -fasynchronous-unwind-tables.
This patch defaults Generic_GCC powerpc (which affects Linux) to use -fasynchronous-unwind-tables.
Reviewed By: #powerpc, nemanjai
Differential Revision: https://reviews.llvm.org/D92054
This commit is contained in:
@@ -118,6 +118,10 @@ Modified Compiler Flags
|
||||
`-fno-delete-null-pointer-checks` has gained the power to remove the
|
||||
`nonnull` attribute on `this` for configurations that need it to be nullable.
|
||||
- ``-gsplit-dwarf`` no longer implies ``-g2``.
|
||||
- ``-fasynchronous-unwind-tables`` is now the default on Linux AArch64/PowerPC.
|
||||
This behavior matches newer GCC.
|
||||
(`D91760 <https://reviews.llvm.org/D91760>`_)
|
||||
(`D92054 <https://reviews.llvm.org/D92054>`_)
|
||||
|
||||
Removed Compiler Flags
|
||||
-------------------------
|
||||
|
||||
@@ -2674,6 +2674,9 @@ void Generic_GCC::printVerboseInfo(raw_ostream &OS) const {
|
||||
bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
|
||||
switch (getArch()) {
|
||||
case llvm::Triple::aarch64:
|
||||
case llvm::Triple::ppc:
|
||||
case llvm::Triple::ppc64:
|
||||
case llvm::Triple::ppc64le:
|
||||
case llvm::Triple::x86_64:
|
||||
return true;
|
||||
default:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/// Check default CC1 and linker options for ppc32.
|
||||
// RUN: %clang -### -target powerpc-unknown-linux-gnu %s 2>&1 | FileCheck --check-prefix=PPC32 %s
|
||||
// PPC32: "-mfloat-abi" "hard"
|
||||
// PPC32: "-munwind-tables"
|
||||
// PPC32-SAME: "-mfloat-abi" "hard"
|
||||
|
||||
// PPC32: "-m" "elf32ppclinux"
|
||||
|
||||
@@ -38,11 +39,12 @@
|
||||
|
||||
|
||||
/// Check default CC1 and linker options for ppc64.
|
||||
// RUN: %clang -### -target powerpc64le-unknown-linux-gnu %s 2>&1 | FileCheck --check-prefix=PPC64 %s
|
||||
// RUN: %clang -### -target powerpc64-unknown-linux-gnu %s 2>&1 | FileCheck -check-prefix=PPC64BE %s
|
||||
// PPC64: "-mfloat-abi" "hard"
|
||||
// RUN: %clang -### -target powerpc64le-unknown-linux-gnu %s 2>&1 | FileCheck --check-prefixes=PPC64,PPC64LE %s
|
||||
// RUN: %clang -### -target powerpc64-unknown-linux-gnu %s 2>&1 | FileCheck --check-prefixes=PPC64,PPC64BE %s
|
||||
// PPC64: "-munwind-tables"
|
||||
// PPC64-SAME: "-mfloat-abi" "hard"
|
||||
|
||||
// PPC64: "-m" "elf64lppc"
|
||||
// PPC64LE: "-m" "elf64lppc"
|
||||
// PPC64BE: "-m" "elf64ppc"
|
||||
|
||||
// check -msoft-float option for ppc64
|
||||
|
||||
Reference in New Issue
Block a user