mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-17 05:20:26 +08:00
alpha.c (alpha_cannot_force_const_mem): New.
* config/alpha/alpha.c (alpha_cannot_force_const_mem): New. (TARGET_CANNOT_FORCE_CONST_MEM): New. From-SVN: r86602
This commit is contained in:
parent
4166ef5159
commit
04886dc0ea
@ -1,3 +1,8 @@
|
||||
2004-08-25 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
|
||||
(TARGET_CANNOT_FORCE_CONST_MEM): New.
|
||||
|
||||
2004-08-25 Andrew MacLeod <amacleod@redhat.com>
|
||||
|
||||
* doc/tree-ssa.texi: Document new operand iterator.
|
||||
|
@ -1180,6 +1180,17 @@ alpha_legitimize_address (rtx x, rtx scratch,
|
||||
}
|
||||
}
|
||||
|
||||
/* Primarily this is required for TLS symbols, but given that our move
|
||||
patterns *ought* to be able to handle any symbol at any time, we
|
||||
should never be spilling symbolic operands to the constant pool, ever. */
|
||||
|
||||
static bool
|
||||
alpha_cannot_force_const_mem (rtx x)
|
||||
{
|
||||
enum rtx_code code = GET_CODE (x);
|
||||
return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
|
||||
}
|
||||
|
||||
/* We do not allow indirect calls to be optimized into sibling calls, nor
|
||||
can we allow a call to a function with a different GP to be optimized
|
||||
into a sibcall. */
|
||||
@ -9357,6 +9368,8 @@ alpha_init_libfuncs (void)
|
||||
#define TARGET_FUNCTION_OK_FOR_SIBCALL alpha_function_ok_for_sibcall
|
||||
#undef TARGET_CANNOT_COPY_INSN_P
|
||||
#define TARGET_CANNOT_COPY_INSN_P alpha_cannot_copy_insn_p
|
||||
#undef TARGET_CANNOT_FORCE_CONST_MEM
|
||||
#define TARGET_CANNOT_FORCE_CONST_MEM alpha_cannot_force_const_mem
|
||||
|
||||
#if TARGET_ABI_OSF
|
||||
#undef TARGET_ASM_OUTPUT_MI_THUNK
|
||||
|
Loading…
x
Reference in New Issue
Block a user