PR target/46533
* config/alpha/predicates.md (direct_call_operand): Return false
for !TARGET_SMALL_TEXT targets.
From-SVN: r166999
+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,
2010-11-20 Joseph Myers <joseph@codesourcery.com>
* doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
HANDLE_PRAGMA_WEAK): Poison.
* config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
* 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/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/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/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.
* 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.
* 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/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.
* 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.
2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
PR other/46202
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.
(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
* 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
* 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
* 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
(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
(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-20 Jakub Jelinek <jakub@redhat.com>
PR debug/46561
2010-11-19 Uros Bizjak <ubizjak@gmail.com>
* mode-switching.c (optimize_mode_switching): Use
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>
* cfgrtl.c (redirect_branch_edge): Ditto.
2010-11-19 Joern Rennecke <amylaar@spamcop.net>
(define_predicate "direct_call_operand"
(match_operand 0 "samegp_function_operand")
{
(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 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;
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 1 if OP is a valid operand for the MEM of a CALL insn.
})
;; Return 1 if OP is a valid operand for the MEM of a CALL insn.