r364777 - [RISCV] Avoid save-restore target feature warning
Sam Elliott via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 1 07:53:57 PDT 2019
Author: lenary
Date: Mon Jul 1 07:53:56 2019
New Revision: 364777
URL: http://llvm.org/viewvc/llvm-project?rev=364777&view=rev
Log:
[RISCV] Avoid save-restore target feature warning
Summary:
LLVM issues a warning if passed unknown target features. Neither I nor
@asb noticed this until after https://reviews.llvm.org/D63498 landed.
This patch stops passing the (unknown) "save-restore" target feature to
the LLVM backend, but continues to emit a warning if a driver asks for
`-msave-restore`. The default of assuming `-mno-save-restore` (and
emitting no warnings) remains.
Reviewers: asb
Reviewed By: asb
Subscribers: rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, kito-cheng, shiva0217, jrtc27, zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna, Jim, cfe-commits, asb
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64008
Modified:
cfe/trunk/lib/Driver/ToolChains/Arch/RISCV.cpp
cfe/trunk/test/Driver/riscv-features.c
Modified: cfe/trunk/lib/Driver/ToolChains/Arch/RISCV.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Arch/RISCV.cpp?rev=364777&r1=364776&r2=364777&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains/Arch/RISCV.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains/Arch/RISCV.cpp Mon Jul 1 07:53:56 2019
@@ -358,14 +358,12 @@ void riscv::getRISCVTargetFeatures(const
else
Features.push_back("-relax");
- // -mno-save-restore is default, unless -msave-restore is specified.
+ // GCC Compatibility: -mno-save-restore is default, unless -msave-restore is
+ // specified...
if (Args.hasFlag(options::OPT_msave_restore, options::OPT_mno_save_restore, false)) {
- Features.push_back("+save-restore");
- // ... but we don't yet support +save-restore, so issue a warning.
+ // ... but we don't support -msave-restore, so issue a warning.
D.Diag(diag::warn_drv_clang_unsupported)
<< Args.getLastArg(options::OPT_msave_restore)->getAsString(Args);
- } else {
- Features.push_back("-save-restore");
}
// Now add any that the user explicitly requested on the command line,
Modified: cfe/trunk/test/Driver/riscv-features.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/riscv-features.c?rev=364777&r1=364776&r2=364777&view=diff
==============================================================================
--- cfe/trunk/test/Driver/riscv-features.c (original)
+++ cfe/trunk/test/Driver/riscv-features.c Mon Jul 1 07:53:56 2019
@@ -17,9 +17,5 @@
// RUN: %clang -target riscv32-unknown-elf -### %s -mno-save-restore 2>&1 | FileCheck %s -check-prefix=NO-SAVE-RESTORE
// SAVE-RESTORE: warning: the clang compiler does not support '-msave-restore'
-// DEFAULT-NOT: warning: the clang compiler does not support
-
-// SAVE-RESTORE: "-target-feature" "+save-restore"
-// NO-SAVE-RESTORE: "-target-feature" "-save-restore"
-// DEFAULT: "-target-feature" "-save-restore"
-// DEFAULT-NOT: "-target-feature" "+save-restore"
\ No newline at end of file
+// NO-SAVE-RESTORE-NOT: warning: the clang compiler does not support
+// DEFAULT-NOT: warning: the clang compiler does not support
\ No newline at end of file
More information about the cfe-commits
mailing list