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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits