Commit 04886dc0 by Richard Henderson Committed by Richard Henderson

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
parent 4166ef51
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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment