bfin.opt (mlong-calls): New.
authorBernd Schmidt <bernd.schmidt@analog.com>
Thu, 9 Jun 2005 11:12:44 +0000 (11:12 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Thu, 9 Jun 2005 11:12:44 +0000 (11:12 +0000)
* 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
gcc/config/bfin/bfin.opt
gcc/config/bfin/predicates.md

index 672bb8f96a8e3dbc24487574e9b7e9b6e4f6341d..ea4d25d0400e58eb56f3d373ab21a362573488b0 100644 (file)
@@ -1,3 +1,9 @@
+2005-06-09  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * 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  <rth@redhat.com>
 
        PR tree-opt/20610
index 4aace2f7182685101bcb1a3d5bc37b815e47f665..e8458907fecd6a93efd16e768fad004065e9dab2 100644 (file)
@@ -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
index 53448844dda4d829e47d377e81eb20bcda647212..a1f66daa34d01db7bd03cecc0d6533c9d17c25be 100644 (file)
 ;; 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