OSDN Git Service

PR target/46533
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Nov 2010 08:18:31 +0000 (08:18 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 21 Nov 2010 08:18:31 +0000 (08:18 +0000)
* config/alpha/predicates.md (direct_call_operand): Return false
for !TARGET_SMALL_TEXT targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166999 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/alpha/predicates.md

index 684e920..1237288 100644 (file)
@@ -1,3 +1,9 @@
+2010-11-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/46533
+       * config/alpha/predicates.md (direct_call_operand): Return false
+       for !TARGET_SMALL_TEXT targets.
+
 2010-11-20  Joseph Myers  <joseph@codesourcery.com>
 
        * doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
@@ -8,8 +14,7 @@
        * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
        HANDLE_PRAGMA_WEAK): Poison.
        * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
-       * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
-       define.
+       * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
        * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
        * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
        * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
-       * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
-       define.
+       * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
        (HANDLE_PRAGMA_WEAK): Don't undefine.
-       * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
-       define.
+       * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
        * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
@@ -46,8 +49,7 @@
        * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
        (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
-       * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't
-       define.
+       * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
        * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
        * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
@@ -83,8 +85,7 @@
 2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        PR other/46202
-       * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New
-       variables.
+       * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
        (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
        shell quoting.
        (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
        * config/pdp11/pdp11.md (define_constants): Add register numbers.
        * config/pdp11/pdp11.c (pdp11_regno_reg_class,
        pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
-       functions. 
+       functions.
        * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
        frame pointer and argument pointer pseudo-registers.
        (ARG_POINTER_REGNUM): Define.
        (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
-       argument pointer. 
+       argument pointer.
        (FIRST_PARM_OFFSET): Update for argument pointer.
        (INITIAL_FRAME_POINTER_OFFSET): Delete.
        (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
        (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
-       frame pointer and argument pointer. 
-       
+       frame pointer and argument pointer.
+
 2010-11-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/46561
 2010-11-19  Uros Bizjak  <ubizjak@gmail.com>
 
        * mode-switching.c (optimize_mode_switching): Use
-       FOR_BB_INSNS instead of open-coded for loop.
+       FOR_BB_INSNS instead of open-coded loop.
        * cfgrtl.c (redirect_branch_edge): Ditto.
 
 2010-11-19  Joern Rennecke  <amylaar@spamcop.net>
index 9fe5390..2f17fb9 100644 (file)
 (define_predicate "direct_call_operand"
   (match_operand 0 "samegp_function_operand")
 {
-  tree op_decl, cfun_sec, op_sec;
-
   /* If profiling is implemented via linker tricks, we can't jump
      to the nogp alternate entry point.  Note that crtl->profile
      would not be correct, since that doesn't indicate if the target
   if (TARGET_SMALL_TEXT)
     return true;
 
-  /* Otherwise, a decl is "near" if it is defined in the same section.  */
-  if (flag_function_sections)
-    return false;
-
-  op_decl = SYMBOL_REF_DECL (op);
-  if (DECL_ONE_ONLY (current_function_decl)
-      || (op_decl && DECL_ONE_ONLY (op_decl)))
-    return false;
-
-  cfun_sec = DECL_SECTION_NAME (current_function_decl);
-  op_sec = op_decl ? DECL_SECTION_NAME (op_decl) : NULL;
-  return ((!cfun_sec && !op_sec)
-         || (cfun_sec && op_sec
-             && strcmp (TREE_STRING_POINTER (cfun_sec),
-                        TREE_STRING_POINTER (op_sec)) == 0));
+  return false;
 })
 
 ;; Return 1 if OP is a valid operand for the MEM of a CALL insn.