From fd078f5215762192c5e69e0f37093cf911ecbc22 Mon Sep 17 00:00:00 2001 From: Bernd Schmidt Date: Thu, 9 Jun 2005 11:12:44 +0000 Subject: [PATCH] bfin.opt (mlong-calls): New. * config/bfin/bfin.opt (mlong-calls): New. * config/bfin/predicates.md (call_insn_operand): Disallow SYMBOL_REF if TARGET_LONG_CALLS. From-SVN: r100796 --- gcc/ChangeLog | 6 ++++++ gcc/config/bfin/bfin.opt | 4 ++++ gcc/config/bfin/predicates.md | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 672bb8f96a8..ea4d25d0400 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-06-09 Bernd Schmidt + + * config/bfin/bfin.opt (mlong-calls): New. + * config/bfin/predicates.md (call_insn_operand): Disallow SYMBOL_REF + if TARGET_LONG_CALLS. + 2005-06-09 Richard Henderson PR tree-opt/20610 diff --git a/gcc/config/bfin/bfin.opt b/gcc/config/bfin/bfin.opt index 4aace2f7182..e8458907fec 100644 --- a/gcc/config/bfin/bfin.opt +++ b/gcc/config/bfin/bfin.opt @@ -38,3 +38,7 @@ Enabled ID based shared library mshared-library-id= Target RejectNegative Joined UInteger Var(bfin_library_id) ID of shared library to build + +mlong-calls +Target Report Mask(LONG_CALLS) +Avoid generating pc-relative calls; use indirection diff --git a/gcc/config/bfin/predicates.md b/gcc/config/bfin/predicates.md index 53448844dda..a1f66daa34d 100644 --- a/gcc/config/bfin/predicates.md +++ b/gcc/config/bfin/predicates.md @@ -119,7 +119,7 @@ ;; reg + const, which the patterns can't handle. ;; We only allow SYMBOL_REF if !flag_pic. (define_predicate "call_insn_operand" - (ior (and (match_test "!flag_pic") (match_code "symbol_ref")) + (ior (and (match_test "!flag_pic && !TARGET_LONG_CALLS") (match_code "symbol_ref")) (match_operand 0 "register_no_elim_operand"))) ;; Test for an operator valid in a conditional branch -- 2.30.2