Commit 41babf2e by Jeffrey A Law Committed by Jeff Law

cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to arg_pointer_rtx fixed if...


        * cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
        arg_pointer_rtx fixed if the argument pointer register is
        not fixed.
        (NONZERO_BASE_PLUS_P): Likewise.

From-SVN: r29425
parent 5c9f708d
Tue Sep 14 21:47:06 1999 Jeffrey A Law (law@cygnus.com)
* cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
arg_pointer_rtx fixed if the argument pointer register is
not fixed.
(NONZERO_BASE_PLUS_P): Likewise.
Tue Sep 14 20:26:02 1999 Richard Henderson <rth@cygnus.com> Tue Sep 14 20:26:02 1999 Richard Henderson <rth@cygnus.com>
* rtl.def (match_insn, match_insn2): Remove match_insn; rename * rtl.def (match_insn, match_insn2): Remove match_insn; rename
......
...@@ -596,13 +596,14 @@ struct cse_basic_block_data { ...@@ -596,13 +596,14 @@ struct cse_basic_block_data {
#define FIXED_BASE_PLUS_P(X) \ #define FIXED_BASE_PLUS_P(X) \
((X) == frame_pointer_rtx || (X) == hard_frame_pointer_rtx \ ((X) == frame_pointer_rtx || (X) == hard_frame_pointer_rtx \
|| (X) == arg_pointer_rtx \ || ((X) == arg_pointer_rtx && fixed_regs[ARG_POINTER_REGNUM])\
|| (X) == virtual_stack_vars_rtx \ || (X) == virtual_stack_vars_rtx \
|| (X) == virtual_incoming_args_rtx \ || (X) == virtual_incoming_args_rtx \
|| (GET_CODE (X) == PLUS && GET_CODE (XEXP (X, 1)) == CONST_INT \ || (GET_CODE (X) == PLUS && GET_CODE (XEXP (X, 1)) == CONST_INT \
&& (XEXP (X, 0) == frame_pointer_rtx \ && (XEXP (X, 0) == frame_pointer_rtx \
|| XEXP (X, 0) == hard_frame_pointer_rtx \ || XEXP (X, 0) == hard_frame_pointer_rtx \
|| XEXP (X, 0) == arg_pointer_rtx \ || ((X) == arg_pointer_rtx \
&& fixed_regs[ARG_POINTER_REGNUM]) \
|| XEXP (X, 0) == virtual_stack_vars_rtx \ || XEXP (X, 0) == virtual_stack_vars_rtx \
|| XEXP (X, 0) == virtual_incoming_args_rtx)) \ || XEXP (X, 0) == virtual_incoming_args_rtx)) \
|| GET_CODE (X) == ADDRESSOF) || GET_CODE (X) == ADDRESSOF)
...@@ -620,7 +621,8 @@ struct cse_basic_block_data { ...@@ -620,7 +621,8 @@ struct cse_basic_block_data {
|| (GET_CODE (X) == PLUS && GET_CODE (XEXP (X, 1)) == CONST_INT \ || (GET_CODE (X) == PLUS && GET_CODE (XEXP (X, 1)) == CONST_INT \
&& (XEXP (X, 0) == frame_pointer_rtx \ && (XEXP (X, 0) == frame_pointer_rtx \
|| XEXP (X, 0) == hard_frame_pointer_rtx \ || XEXP (X, 0) == hard_frame_pointer_rtx \
|| XEXP (X, 0) == arg_pointer_rtx \ || ((X) == arg_pointer_rtx \
&& fixed_regs[ARG_POINTER_REGNUM]) \
|| XEXP (X, 0) == virtual_stack_vars_rtx \ || XEXP (X, 0) == virtual_stack_vars_rtx \
|| XEXP (X, 0) == virtual_incoming_args_rtx)) \ || XEXP (X, 0) == virtual_incoming_args_rtx)) \
|| (X) == stack_pointer_rtx \ || (X) == stack_pointer_rtx \
......
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