Commit 2e4e72b1 by Zack Weinberg Committed by Zack Weinberg

defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.

	* defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
	* recog.c (general_operand, immediate_operand, nonmemory_operand)
	(asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
	* regclass.c (record_reg_classes): Likewise.
	* reload.c (find_reloads): Likewise.
	* reload1.c (reload): Likewise.

From-SVN: r85512
parent f9942f4e
2004-08-03 Zack Weinberg <zack@codesourcery.com> 2004-08-03 Zack Weinberg <zack@codesourcery.com>
* defaults.h (LEGITIMATE_PIC_OPERAND_P): Provide default definition.
* recog.c (general_operand, immediate_operand, nonmemory_operand)
(asm_operand_ok): Remove #ifdefs on LEGITIMATE_PICOPERAND_P.
* regclass.c (record_reg_classes): Likewise.
* reload.c (find_reloads): Likewise.
* reload1.c (reload): Likewise.
2004-08-03 Zack Weinberg <zack@codesourcery.com>
* gensupport.c (init_md_reader_args_cb): Renamed from * gensupport.c (init_md_reader_args_cb): Renamed from
init_md_reader_args. Add third option, callback function for init_md_reader_args. Add third option, callback function for
parsing program-specific options. Add diagnosis of incorrect parsing program-specific options. Add diagnosis of incorrect
......
...@@ -768,6 +768,10 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE! ...@@ -768,6 +768,10 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN) #define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
#endif #endif
#ifndef LEGITIMATE_PIC_OPERAND_P
#define LEGITIMATE_PIC_OPERAND_P(X) 1
#endif
#ifndef REVERSIBLE_CC_MODE #ifndef REVERSIBLE_CC_MODE
#define REVERSIBLE_CC_MODE(MODE) 0 #define REVERSIBLE_CC_MODE(MODE) 0
#endif #endif
......
...@@ -922,9 +922,7 @@ general_operand (rtx op, enum machine_mode mode) ...@@ -922,9 +922,7 @@ general_operand (rtx op, enum machine_mode mode)
if (CONSTANT_P (op)) if (CONSTANT_P (op))
return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode
|| mode == VOIDmode) || mode == VOIDmode)
#ifdef LEGITIMATE_PIC_OPERAND_P
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
#endif
&& LEGITIMATE_CONSTANT_P (op)); && LEGITIMATE_CONSTANT_P (op));
/* Except for certain constants with VOIDmode, already checked for, /* Except for certain constants with VOIDmode, already checked for,
...@@ -1102,9 +1100,7 @@ immediate_operand (rtx op, enum machine_mode mode) ...@@ -1102,9 +1100,7 @@ immediate_operand (rtx op, enum machine_mode mode)
return (CONSTANT_P (op) return (CONSTANT_P (op)
&& (GET_MODE (op) == mode || mode == VOIDmode && (GET_MODE (op) == mode || mode == VOIDmode
|| GET_MODE (op) == VOIDmode) || GET_MODE (op) == VOIDmode)
#ifdef LEGITIMATE_PIC_OPERAND_P
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
#endif
&& LEGITIMATE_CONSTANT_P (op)); && LEGITIMATE_CONSTANT_P (op));
} }
...@@ -1170,9 +1166,7 @@ nonmemory_operand (rtx op, enum machine_mode mode) ...@@ -1170,9 +1166,7 @@ nonmemory_operand (rtx op, enum machine_mode mode)
return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode
|| mode == VOIDmode) || mode == VOIDmode)
#ifdef LEGITIMATE_PIC_OPERAND_P
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)) && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
#endif
&& LEGITIMATE_CONSTANT_P (op)); && LEGITIMATE_CONSTANT_P (op));
} }
...@@ -1677,11 +1671,7 @@ asm_operand_ok (rtx op, const char *constraint) ...@@ -1677,11 +1671,7 @@ asm_operand_ok (rtx op, const char *constraint)
/* Fall through. */ /* Fall through. */
case 'i': case 'i':
if (CONSTANT_P (op) if (CONSTANT_P (op) && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)))
#ifdef LEGITIMATE_PIC_OPERAND_P
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
#endif
)
result = 1; result = 1;
break; break;
......
...@@ -1614,10 +1614,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops, ...@@ -1614,10 +1614,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops,
break; break;
case 'i': case 'i':
if (CONSTANT_P (op) if (CONSTANT_P (op)
#ifdef LEGITIMATE_PIC_OPERAND_P && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)))
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
#endif
)
win = 1; win = 1;
break; break;
...@@ -1648,10 +1645,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops, ...@@ -1648,10 +1645,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops,
case 'g': case 'g':
if (MEM_P (op) if (MEM_P (op)
|| (CONSTANT_P (op) || (CONSTANT_P (op)
#ifdef LEGITIMATE_PIC_OPERAND_P && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))))
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
#endif
))
win = 1; win = 1;
allows_mem[i] = 1; allows_mem[i] = 1;
case 'r': case 'r':
......
...@@ -3228,10 +3228,7 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known, ...@@ -3228,10 +3228,7 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
break; break;
case 'i': case 'i':
if (CONSTANT_P (operand) if (CONSTANT_P (operand)
#ifdef LEGITIMATE_PIC_OPERAND_P && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (operand)))
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (operand))
#endif
)
win = 1; win = 1;
break; break;
...@@ -3266,11 +3263,9 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known, ...@@ -3266,11 +3263,9 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
&& GET_CODE (operand) != PLUS && GET_CODE (operand) != PLUS
/* A SCRATCH is not a valid operand. */ /* A SCRATCH is not a valid operand. */
&& GET_CODE (operand) != SCRATCH && GET_CODE (operand) != SCRATCH
#ifdef LEGITIMATE_PIC_OPERAND_P
&& (! CONSTANT_P (operand) && (! CONSTANT_P (operand)
|| ! flag_pic || ! flag_pic
|| LEGITIMATE_PIC_OPERAND_P (operand)) || LEGITIMATE_PIC_OPERAND_P (operand))
#endif
&& (GENERAL_REGS == ALL_REGS && (GENERAL_REGS == ALL_REGS
|| !REG_P (operand) || !REG_P (operand)
|| (REGNO (operand) >= FIRST_PSEUDO_REGISTER || (REGNO (operand) >= FIRST_PSEUDO_REGISTER
......
...@@ -734,16 +734,13 @@ reload (rtx first, int global) ...@@ -734,16 +734,13 @@ reload (rtx first, int global)
{ {
rtx note = find_reg_note (insn, REG_EQUIV, NULL_RTX); rtx note = find_reg_note (insn, REG_EQUIV, NULL_RTX);
if (note if (note
#ifdef LEGITIMATE_PIC_OPERAND_P
&& (! function_invariant_p (XEXP (note, 0)) && (! function_invariant_p (XEXP (note, 0))
|| ! flag_pic || ! flag_pic
/* A function invariant is often CONSTANT_P but may /* A function invariant is often CONSTANT_P but may
include a register. We promise to only pass include a register. We promise to only pass
CONSTANT_P objects to LEGITIMATE_PIC_OPERAND_P. */ CONSTANT_P objects to LEGITIMATE_PIC_OPERAND_P. */
|| (CONSTANT_P (XEXP (note, 0)) || (CONSTANT_P (XEXP (note, 0))
&& LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0)))) && LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0)))))
#endif
)
{ {
rtx x = XEXP (note, 0); rtx x = XEXP (note, 0);
i = REGNO (SET_DEST (set)); i = REGNO (SET_DEST (set));
......
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