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
This commit is contained in:
parent
f9942f4e14
commit
2e4e72b1c0
@ -1,3 +1,12 @@
|
||||
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
|
||||
|
@ -768,6 +768,10 @@ You Lose! You must define PREFERRED_DEBUGGING_TYPE!
|
||||
#define LEGITIMIZE_ADDRESS(X, OLDX, MODE, WIN)
|
||||
#endif
|
||||
|
||||
#ifndef LEGITIMATE_PIC_OPERAND_P
|
||||
#define LEGITIMATE_PIC_OPERAND_P(X) 1
|
||||
#endif
|
||||
|
||||
#ifndef REVERSIBLE_CC_MODE
|
||||
#define REVERSIBLE_CC_MODE(MODE) 0
|
||||
#endif
|
||||
|
12
gcc/recog.c
12
gcc/recog.c
@ -922,9 +922,7 @@ general_operand (rtx op, enum machine_mode mode)
|
||||
if (CONSTANT_P (op))
|
||||
return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode
|
||||
|| mode == VOIDmode)
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
|
||||
#endif
|
||||
&& LEGITIMATE_CONSTANT_P (op));
|
||||
|
||||
/* Except for certain constants with VOIDmode, already checked for,
|
||||
@ -1102,9 +1100,7 @@ immediate_operand (rtx op, enum machine_mode mode)
|
||||
return (CONSTANT_P (op)
|
||||
&& (GET_MODE (op) == mode || mode == VOIDmode
|
||||
|| GET_MODE (op) == VOIDmode)
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
|
||||
#endif
|
||||
&& LEGITIMATE_CONSTANT_P (op));
|
||||
}
|
||||
|
||||
@ -1170,9 +1166,7 @@ nonmemory_operand (rtx op, enum machine_mode mode)
|
||||
|
||||
return ((GET_MODE (op) == VOIDmode || GET_MODE (op) == mode
|
||||
|| mode == VOIDmode)
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
|
||||
#endif
|
||||
&& LEGITIMATE_CONSTANT_P (op));
|
||||
}
|
||||
|
||||
@ -1677,11 +1671,7 @@ asm_operand_ok (rtx op, const char *constraint)
|
||||
/* Fall through. */
|
||||
|
||||
case 'i':
|
||||
if (CONSTANT_P (op)
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
|
||||
#endif
|
||||
)
|
||||
if (CONSTANT_P (op) && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)))
|
||||
result = 1;
|
||||
break;
|
||||
|
||||
|
@ -1614,10 +1614,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops,
|
||||
break;
|
||||
case 'i':
|
||||
if (CONSTANT_P (op)
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
|
||||
#endif
|
||||
)
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op)))
|
||||
win = 1;
|
||||
break;
|
||||
|
||||
@ -1648,10 +1645,7 @@ record_reg_classes (int n_alts, int n_ops, rtx *ops,
|
||||
case 'g':
|
||||
if (MEM_P (op)
|
||||
|| (CONSTANT_P (op)
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))
|
||||
#endif
|
||||
))
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (op))))
|
||||
win = 1;
|
||||
allows_mem[i] = 1;
|
||||
case 'r':
|
||||
|
@ -3228,10 +3228,7 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
|
||||
break;
|
||||
case 'i':
|
||||
if (CONSTANT_P (operand)
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (operand))
|
||||
#endif
|
||||
)
|
||||
&& (! flag_pic || LEGITIMATE_PIC_OPERAND_P (operand)))
|
||||
win = 1;
|
||||
break;
|
||||
|
||||
@ -3266,11 +3263,9 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
|
||||
&& GET_CODE (operand) != PLUS
|
||||
/* A SCRATCH is not a valid operand. */
|
||||
&& GET_CODE (operand) != SCRATCH
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! CONSTANT_P (operand)
|
||||
|| ! flag_pic
|
||||
|| LEGITIMATE_PIC_OPERAND_P (operand))
|
||||
#endif
|
||||
&& (GENERAL_REGS == ALL_REGS
|
||||
|| !REG_P (operand)
|
||||
|| (REGNO (operand) >= FIRST_PSEUDO_REGISTER
|
||||
|
@ -734,16 +734,13 @@ reload (rtx first, int global)
|
||||
{
|
||||
rtx note = find_reg_note (insn, REG_EQUIV, NULL_RTX);
|
||||
if (note
|
||||
#ifdef LEGITIMATE_PIC_OPERAND_P
|
||||
&& (! function_invariant_p (XEXP (note, 0))
|
||||
|| ! flag_pic
|
||||
/* A function invariant is often CONSTANT_P but may
|
||||
include a register. We promise to only pass
|
||||
CONSTANT_P objects to LEGITIMATE_PIC_OPERAND_P. */
|
||||
|| (CONSTANT_P (XEXP (note, 0))
|
||||
&& LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0))))
|
||||
#endif
|
||||
)
|
||||
&& LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0)))))
|
||||
{
|
||||
rtx x = XEXP (note, 0);
|
||||
i = REGNO (SET_DEST (set));
|
||||
|
Loading…
Reference in New Issue
Block a user