diff options
| author | Kito Cheng <kito.cheng@sifive.com> | 2023-03-03 15:32:44 +0800 |
|---|---|---|
| committer | Kito Cheng <kito.cheng@sifive.com> | 2023-03-03 16:13:53 +0800 |
| commit | be437f3bb8b657f4d2de4603734f24daa624d204 (patch) | |
| tree | 00dea93102a3550dec203195755f89259a44c9ae | |
| parent | e423885e272c0e57c6d240d07bc934e0a8649417 (diff) | |
| download | llvm-be437f3bb8b657f4d2de4603734f24daa624d204.zip llvm-be437f3bb8b657f4d2de4603734f24daa624d204.tar.gz llvm-be437f3bb8b657f4d2de4603734f24daa624d204.tar.bz2 | |
[clang][RISCV] Enable -fasynchronous-unwind-tables by default on Linux
This could improve user experience for stack unwinding, and also this is
enabled by default by X86 and AArch64 and RISC-V GCC.
Reviewed By: luismarques, MaskRay
Differential Revision: https://reviews.llvm.org/D145164
| -rw-r--r-- | clang/lib/Driver/ToolChains/Gnu.cpp | 2 | ||||
| -rw-r--r-- | clang/test/Driver/riscv-features.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 3a69a29..24fbdcf 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -2900,6 +2900,8 @@ Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const { case llvm::Triple::ppcle: case llvm::Triple::ppc64: case llvm::Triple::ppc64le: + case llvm::Triple::riscv32: + case llvm::Triple::riscv64: case llvm::Triple::x86: case llvm::Triple::x86_64: return UnwindTableLevel::Asynchronous; diff --git a/clang/test/Driver/riscv-features.c b/clang/test/Driver/riscv-features.c index 37b6f86..98445b1 100644 --- a/clang/test/Driver/riscv-features.c +++ b/clang/test/Driver/riscv-features.c @@ -26,7 +26,8 @@ // RUN: %clang --target=riscv64-linux -### %s -fsyntax-only 2>&1 \ // RUN: | FileCheck %s -check-prefix=DEFAULT-LINUX -// DEFAULT-LINUX: "-target-feature" "+m" +// DEFAULT-LINUX: "-funwind-tables=2" +// DEFAULT-LINUX-SAME: "-target-feature" "+m" // DEFAULT-LINUX-SAME: "-target-feature" "+a" // DEFAULT-LINUX-SAME: "-target-feature" "+f" // DEFAULT-LINUX-SAME: "-target-feature" "+d" |
