Currently, the RISC-V target uses the target specific mplt option to
control PLT generation. This patch deprecates the target specific mplt
option and uses the common fplt option instead. This allows users to
use the same option for most targets. Since both fplt and mplt are
initialized to 1, it's safe to use logical and to combine them.

Co-Developed-by: Liao Shihua <shi...@iscas.ac.cn>
Signed-off-by: Yangyu Chen <c...@cyyself.name>

gcc/ChangeLog:

        * config/riscv/predicates.md: deprecates mplt option.
        * config/riscv/riscv.opt: allow -fno-plt to disable PLT.
---
 gcc/config/riscv/predicates.md | 3 ++-
 gcc/config/riscv/riscv.opt     | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/gcc/config/riscv/predicates.md b/gcc/config/riscv/predicates.md
index 9971fabc587..a48b4aa9534 100644
--- a/gcc/config/riscv/predicates.md
+++ b/gcc/config/riscv/predicates.md
@@ -329,7 +329,8 @@
 {
   enum riscv_symbol_type type;
   return (riscv_symbolic_constant_p (op, &type)
-         && type == SYMBOL_GOT_DISP && !SYMBOL_REF_WEAK (op) && TARGET_PLT);
+         && type == SYMBOL_GOT_DISP && !SYMBOL_REF_WEAK (op)
+         && TARGET_PLT && flag_plt);
 })
 
 (define_predicate "call_insn_operand"
diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
index 6360ed3984d..3ac54017337 100644
--- a/gcc/config/riscv/riscv.opt
+++ b/gcc/config/riscv/riscv.opt
@@ -35,7 +35,7 @@ Target RejectNegative Joined UInteger Var(riscv_branch_cost)
 
 mplt
 Target Var(TARGET_PLT) Init(1)
-When generating -fpic code, allow the use of PLTs. Ignored for fno-pic.
+This option is deprecated; use -fplt or -fno-plt instead.
 
 mabi=
 Target RejectNegative Joined Enum(abi_type) Var(riscv_abi) Init(ABI_ILP32) 
Negative(mabi=)
-- 
2.45.2

Reply via email to