Skip to content

Commit ce0c149

Browse files
authored
[RISCV][Clang] Remove -save-restore from default features. (#76390)
It's unnecessary to defaultly pass feature `-save-restore`, since risc-v backend defaultly disables save-restore functionality.
1 parent 256bf56 commit ce0c149

File tree

3 files changed

+1
-10
lines changed

3 files changed

+1
-10
lines changed

clang/lib/Driver/ToolChains/Arch/RISCV.cpp

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,6 @@ void riscv::getRISCVTargetFeatures(const Driver &D, const llvm::Triple &Triple,
167167
Features.push_back("-relax");
168168
}
169169

170-
// GCC Compatibility: -mno-save-restore is default, unless -msave-restore is
171-
// specified.
172-
if (Args.hasFlag(options::OPT_msave_restore, options::OPT_mno_save_restore, false))
173-
Features.push_back("+save-restore");
174-
else
175-
Features.push_back("-save-restore");
176-
177170
// -mno-unaligned-access is default, unless -munaligned-access is specified.
178171
AddTargetFeature(Args, Features, options::OPT_munaligned_access,
179172
options::OPT_mno_unaligned_access, "fast-unaligned-access");

clang/test/Driver/riscv-default-features.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22
// RUN: %clang --target=riscv64-unknown-elf -S -emit-llvm %s -o - | FileCheck %s -check-prefix=RV64
33

44
// RV32: "target-features"="+32bit,+a,+c,+m,+relax,
5-
// RV32-SAME: -save-restore
65
// RV64: "target-features"="+64bit,+a,+c,+m,+relax,
7-
// RV64-SAME: -save-restore
86

97
// Dummy function
108
int foo(void){

clang/test/Driver/riscv-features.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
// SAVE-RESTORE: "-target-feature" "+save-restore"
2626
// NO-SAVE-RESTORE: "-target-feature" "-save-restore"
27-
// DEFAULT: "-target-feature" "-save-restore"
27+
// DEFAULT-NOT: "-target-feature" "-save-restore"
2828
// DEFAULT-NOT: "-target-feature" "+save-restore"
2929

3030
// RUN: %clang --target=riscv32-unknown-elf -### %s -munaligned-access 2>&1 | FileCheck %s -check-prefix=FAST-UNALIGNED-ACCESS

0 commit comments

Comments
 (0)