Commit 750c9258 by Andreas Jaeger Committed by Andreas Jaeger

* emit-rtl.c (operand_subword): Remove unused variable.

From-SVN: r42953
parent f890c4fd
2001-06-07 Andreas Jaeger <aj@suse.de>
* emit-rtl.c (operand_subword): Remove unused variable.
Wed Jun 6 14:51:05 CEST 2001 Jan Hubicka <jh@suse.cz> Wed Jun 6 14:51:05 CEST 2001 Jan Hubicka <jh@suse.cz>
* i386.md (floatdi?f): Avoid usinf of SSE instructions * i386.md (floatdi?f): Avoid usinf of SSE instructions
......
...@@ -114,7 +114,7 @@ REAL_VALUE_TYPE dconstm1; ...@@ -114,7 +114,7 @@ REAL_VALUE_TYPE dconstm1;
When to use frame_pointer_rtx and hard_frame_pointer_rtx is a little When to use frame_pointer_rtx and hard_frame_pointer_rtx is a little
tricky: until register elimination has taken place hard_frame_pointer_rtx tricky: until register elimination has taken place hard_frame_pointer_rtx
should be used if it is being set, and frame_pointer_rtx otherwise. After should be used if it is being set, and frame_pointer_rtx otherwise. After
register elimination hard_frame_pointer_rtx should always be used. register elimination hard_frame_pointer_rtx should always be used.
On machines where the two registers are same (most) then these are the On machines where the two registers are same (most) then these are the
same. same.
...@@ -406,7 +406,7 @@ gen_lowpart_SUBREG (mode, reg) ...@@ -406,7 +406,7 @@ gen_lowpart_SUBREG (mode, reg)
** **
** ...would be generated by the following C code: ** ...would be generated by the following C code:
** **
** gen_rtx (PLUS, QImode, ** gen_rtx (PLUS, QImode,
** gen_rtx (MEM, QImode, ** gen_rtx (MEM, QImode,
** gen_rtx (REG, SImode, 1)), ** gen_rtx (REG, SImode, 1)),
** gen_rtx (MEM, QImode, ** gen_rtx (MEM, QImode,
...@@ -724,7 +724,7 @@ subreg_hard_regno (x, check_mode) ...@@ -724,7 +724,7 @@ subreg_hard_regno (x, check_mode)
/* Return a value representing some low-order bits of X, where the number /* Return a value representing some low-order bits of X, where the number
of low-order bits is given by MODE. Note that no conversion is done of low-order bits is given by MODE. Note that no conversion is done
between floating-point and fixed-point values, rather, the bit between floating-point and fixed-point values, rather, the bit
representation is returned. representation is returned.
This function handles the cases in common between gen_lowpart, below, This function handles the cases in common between gen_lowpart, below,
...@@ -810,7 +810,7 @@ gen_lowpart_common (mode, x) ...@@ -810,7 +810,7 @@ gen_lowpart_common (mode, x)
/* If X is an integral constant but we want it in floating-point, it /* If X is an integral constant but we want it in floating-point, it
must be the case that we have a union of an integer and a floating-point must be the case that we have a union of an integer and a floating-point
value. If the machine-parameters allow it, simulate that union here value. If the machine-parameters allow it, simulate that union here
and return the result. The two-word and single-word cases are and return the result. The two-word and single-word cases are
different. */ different. */
else if (((HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT else if (((HOST_FLOAT_FORMAT == TARGET_FLOAT_FORMAT
...@@ -925,7 +925,7 @@ gen_lowpart_common (mode, x) ...@@ -925,7 +925,7 @@ gen_lowpart_common (mode, x)
} }
else else
{ {
low = CONST_DOUBLE_LOW (x); low = CONST_DOUBLE_LOW (x);
high = CONST_DOUBLE_HIGH (x); high = CONST_DOUBLE_HIGH (x);
} }
...@@ -1110,7 +1110,7 @@ gen_lowpart (mode, x) ...@@ -1110,7 +1110,7 @@ gen_lowpart (mode, x)
abort (); abort ();
} }
/* Like `gen_lowpart', but refer to the most significant part. /* Like `gen_lowpart', but refer to the most significant part.
This is used to access the imaginary part of a complex number. */ This is used to access the imaginary part of a complex number. */
rtx rtx
...@@ -1374,10 +1374,10 @@ constant_subword (op, offset, mode) ...@@ -1374,10 +1374,10 @@ constant_subword (op, offset, mode)
return GEN_INT (u.i); return GEN_INT (u.i);
} }
#endif /* no REAL_ARITHMETIC */ #endif /* no REAL_ARITHMETIC */
/* The only remaining cases that we can handle are integers. /* The only remaining cases that we can handle are integers.
Convert to proper endianness now since these cases need it. Convert to proper endianness now since these cases need it.
At this point, offset == 0 means the low-order word. At this point, offset == 0 means the low-order word.
We do not want to handle the case when BITS_PER_WORD <= HOST_BITS_PER_INT We do not want to handle the case when BITS_PER_WORD <= HOST_BITS_PER_INT
in general. However, if OP is (const_int 0), we can just return in general. However, if OP is (const_int 0), we can just return
...@@ -1442,7 +1442,6 @@ operand_subword (op, offset, validate_address, mode) ...@@ -1442,7 +1442,6 @@ operand_subword (op, offset, validate_address, mode)
int validate_address; int validate_address;
enum machine_mode mode; enum machine_mode mode;
{ {
rtx new;
if (mode == VOIDmode) if (mode == VOIDmode)
mode = GET_MODE (op); mode = GET_MODE (op);
...@@ -1487,7 +1486,7 @@ operand_subword (op, offset, validate_address, mode) ...@@ -1487,7 +1486,7 @@ operand_subword (op, offset, validate_address, mode)
/* Similar to `operand_subword', but never return 0. If we can't extract /* Similar to `operand_subword', but never return 0. If we can't extract
the required subword, put OP into a register and try again. If that fails, the required subword, put OP into a register and try again. If that fails,
abort. We always validate the address in this case. abort. We always validate the address in this case.
MODE is the mode of OP, in case it is CONST_INT. */ MODE is the mode of OP, in case it is CONST_INT. */
...@@ -1581,7 +1580,7 @@ change_address (memref, mode, addr) ...@@ -1581,7 +1580,7 @@ change_address (memref, mode, addr)
} }
else else
addr = memory_address (mode, addr); addr = memory_address (mode, addr);
if (rtx_equal_p (addr, XEXP (memref, 0)) && mode == GET_MODE (memref)) if (rtx_equal_p (addr, XEXP (memref, 0)) && mode == GET_MODE (memref))
return memref; return memref;
...@@ -1675,7 +1674,7 @@ free_emit_status (f) ...@@ -1675,7 +1674,7 @@ free_emit_status (f)
f->emit = NULL; f->emit = NULL;
} }
/* Go through all the RTL insn bodies and copy any invalid shared /* Go through all the RTL insn bodies and copy any invalid shared
structure. This routine should only be called once. */ structure. This routine should only be called once. */
void void
...@@ -1694,7 +1693,7 @@ unshare_all_rtl (fndecl, insn) ...@@ -1694,7 +1693,7 @@ unshare_all_rtl (fndecl, insn)
/* Unshare just about everything else. */ /* Unshare just about everything else. */
unshare_all_rtl_1 (insn); unshare_all_rtl_1 (insn);
/* Make sure the addresses of stack slots found outside the insn chain /* Make sure the addresses of stack slots found outside the insn chain
(such as, in DECL_RTL of a variable) are not shared (such as, in DECL_RTL of a variable) are not shared
with the insn chain. with the insn chain.
...@@ -1705,7 +1704,7 @@ unshare_all_rtl (fndecl, insn) ...@@ -1705,7 +1704,7 @@ unshare_all_rtl (fndecl, insn)
stack_slot_list = copy_rtx_if_shared (stack_slot_list); stack_slot_list = copy_rtx_if_shared (stack_slot_list);
} }
/* Go through all the RTL insn bodies and copy any invalid shared /* Go through all the RTL insn bodies and copy any invalid shared
structure, again. This is a fairly expensive thing to do so it structure, again. This is a fairly expensive thing to do so it
should be done sparingly. */ should be done sparingly. */
...@@ -1842,7 +1841,7 @@ copy_rtx_if_shared (orig) ...@@ -1842,7 +1841,7 @@ copy_rtx_if_shared (orig)
case MEM: case MEM:
/* A MEM is allowed to be shared if its address is constant. /* A MEM is allowed to be shared if its address is constant.
We used to allow sharing of MEMs which referenced We used to allow sharing of MEMs which referenced
virtual_stack_vars_rtx or virtual_incoming_args_rtx, but virtual_stack_vars_rtx or virtual_incoming_args_rtx, but
that can lose. instantiate_virtual_regs will not unshare that can lose. instantiate_virtual_regs will not unshare
the MEMs, and combine may change the structure of the address the MEMs, and combine may change the structure of the address
...@@ -1944,7 +1943,7 @@ reset_used_flags (x) ...@@ -1944,7 +1943,7 @@ reset_used_flags (x)
case BARRIER: case BARRIER:
/* The chain of insns is not being copied. */ /* The chain of insns is not being copied. */
return; return;
default: default:
break; break;
} }
...@@ -2079,7 +2078,7 @@ renumber_insns (stream) ...@@ -2079,7 +2078,7 @@ renumber_insns (stream)
for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
{ {
if (stream) if (stream)
fprintf (stream, "Renumbering insn %d to %d\n", fprintf (stream, "Renumbering insn %d to %d\n",
INSN_UID (insn), cur_insn_uid); INSN_UID (insn), cur_insn_uid);
INSN_UID (insn) = cur_insn_uid++; INSN_UID (insn) = cur_insn_uid++;
} }
...@@ -2401,13 +2400,13 @@ try_split (pat, trial, last) ...@@ -2401,13 +2400,13 @@ try_split (pat, trial, last)
{ {
int i; int i;
rtx eh_note; rtx eh_note;
/* Avoid infinite loop if any insn of the result matches /* Avoid infinite loop if any insn of the result matches
the original pattern. */ the original pattern. */
for (i = 0; i < XVECLEN (seq, 0); i++) for (i = 0; i < XVECLEN (seq, 0); i++)
if (GET_CODE (XVECEXP (seq, 0, i)) == INSN if (GET_CODE (XVECEXP (seq, 0, i)) == INSN
&& rtx_equal_p (PATTERN (XVECEXP (seq, 0, i)), pat)) && rtx_equal_p (PATTERN (XVECEXP (seq, 0, i)), pat))
return trial; return trial;
/* Mark labels. */ /* Mark labels. */
for (i = XVECLEN (seq, 0) - 1; i >= 0; i--) for (i = XVECLEN (seq, 0) - 1; i >= 0; i--)
...@@ -2429,9 +2428,9 @@ try_split (pat, trial, last) ...@@ -2429,9 +2428,9 @@ try_split (pat, trial, last)
{ {
rtx insn = XVECEXP (seq, 0, i); rtx insn = XVECEXP (seq, 0, i);
if (GET_CODE (insn) == CALL_INSN if (GET_CODE (insn) == CALL_INSN
|| (flag_non_call_exceptions || (flag_non_call_exceptions
&& may_trap_p (PATTERN (insn)))) && may_trap_p (PATTERN (insn))))
REG_NOTES (insn) REG_NOTES (insn)
= gen_rtx_EXPR_LIST (REG_EH_REGION, XEXP (eh_note, 0), = gen_rtx_EXPR_LIST (REG_EH_REGION, XEXP (eh_note, 0),
REG_NOTES (insn)); REG_NOTES (insn));
} }
...@@ -2470,8 +2469,8 @@ try_split (pat, trial, last) ...@@ -2470,8 +2469,8 @@ try_split (pat, trial, last)
/* Return either the first or the last insn, depending on which was /* Return either the first or the last insn, depending on which was
requested. */ requested. */
return last return last
? (after ? prev_active_insn (after) : last_insn) ? (after ? prev_active_insn (after) : last_insn)
: next_active_insn (before); : next_active_insn (before);
} }
...@@ -2506,7 +2505,7 @@ make_insn_raw (pattern) ...@@ -2506,7 +2505,7 @@ make_insn_raw (pattern)
debug_rtx (insn); debug_rtx (insn);
} }
#endif #endif
return insn; return insn;
} }
...@@ -3461,7 +3460,7 @@ force_next_line_note () ...@@ -3461,7 +3460,7 @@ force_next_line_note ()
/* Place a note of KIND on insn INSN with DATUM as the datum. If a /* Place a note of KIND on insn INSN with DATUM as the datum. If a
note of this type already exists, remove it first. */ note of this type already exists, remove it first. */
void void
set_unique_reg_note (insn, kind, datum) set_unique_reg_note (insn, kind, datum)
rtx insn; rtx insn;
enum reg_note kind; enum reg_note kind;
...@@ -3470,7 +3469,7 @@ set_unique_reg_note (insn, kind, datum) ...@@ -3470,7 +3469,7 @@ set_unique_reg_note (insn, kind, datum)
rtx note = find_reg_note (insn, kind, NULL_RTX); rtx note = find_reg_note (insn, kind, NULL_RTX);
/* First remove the note if there already is one. */ /* First remove the note if there already is one. */
if (note) if (note)
remove_note (insn, note); remove_note (insn, note);
REG_NOTES (insn) = gen_rtx_EXPR_LIST (kind, datum, REG_NOTES (insn)); REG_NOTES (insn) = gen_rtx_EXPR_LIST (kind, datum, REG_NOTES (insn));
...@@ -3650,7 +3649,7 @@ pop_topmost_sequence () ...@@ -3650,7 +3649,7 @@ pop_topmost_sequence ()
/* After emitting to a sequence, restore previous saved state. /* After emitting to a sequence, restore previous saved state.
To get the contents of the sequence just made, you must call To get the contents of the sequence just made, you must call
`gen_sequence' *before* calling here. `gen_sequence' *before* calling here.
If the compiler might have deferred popping arguments while If the compiler might have deferred popping arguments while
generating this sequence, and this sequence will not be immediately generating this sequence, and this sequence will not be immediately
...@@ -3714,7 +3713,7 @@ gen_sequence () ...@@ -3714,7 +3713,7 @@ gen_sequence ()
/* If only one insn, return it rather than a SEQUENCE. /* If only one insn, return it rather than a SEQUENCE.
(Now that we cache SEQUENCE expressions, it isn't worth special-casing (Now that we cache SEQUENCE expressions, it isn't worth special-casing
the case of an empty list.) the case of an empty list.)
We only return the pattern of an insn if its code is INSN and it We only return the pattern of an insn if its code is INSN and it
has no notes. This ensures that no information gets lost. */ has no notes. This ensures that no information gets lost. */
if (len == 1 if (len == 1
...@@ -3822,7 +3821,7 @@ copy_insn_1 (orig) ...@@ -3822,7 +3821,7 @@ copy_insn_1 (orig)
&& GET_CODE (XEXP (XEXP (orig, 0), 1)) == CONST_INT) && GET_CODE (XEXP (XEXP (orig, 0), 1)) == CONST_INT)
return orig; return orig;
break; break;
/* A MEM with a constant address is not sharable. The problem is that /* A MEM with a constant address is not sharable. The problem is that
the constant address may need to be reloaded. If the mem is shared, the constant address may need to be reloaded. If the mem is shared,
then reloading one copy of this mem will cause all copies to appear then reloading one copy of this mem will cause all copies to appear
...@@ -3851,7 +3850,7 @@ copy_insn_1 (orig) ...@@ -3851,7 +3850,7 @@ copy_insn_1 (orig)
copy->call = 0; copy->call = 0;
copy->frame_related = 0; copy->frame_related = 0;
} }
format_ptr = GET_RTX_FORMAT (GET_CODE (copy)); format_ptr = GET_RTX_FORMAT (GET_CODE (copy));
for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++) for (i = 0; i < GET_RTX_LENGTH (GET_CODE (copy)); i++)
...@@ -3959,7 +3958,7 @@ init_emit () ...@@ -3959,7 +3958,7 @@ init_emit ()
= (unsigned char *) xcalloc (f->emit->regno_pointer_align_length, = (unsigned char *) xcalloc (f->emit->regno_pointer_align_length,
sizeof (unsigned char)); sizeof (unsigned char));
regno_reg_rtx regno_reg_rtx
= (rtx *) xcalloc (f->emit->regno_pointer_align_length * sizeof (rtx), = (rtx *) xcalloc (f->emit->regno_pointer_align_length * sizeof (rtx),
sizeof (rtx)); sizeof (rtx));
...@@ -4044,9 +4043,9 @@ init_emit_once (line_numbers) ...@@ -4044,9 +4043,9 @@ init_emit_once (line_numbers)
enum machine_mode double_mode; enum machine_mode double_mode;
/* Initialize the CONST_INT hash table. */ /* Initialize the CONST_INT hash table. */
const_int_htab = htab_create (37, const_int_htab_hash, const_int_htab = htab_create (37, const_int_htab_hash,
const_int_htab_eq, NULL); const_int_htab_eq, NULL);
ggc_add_root (&const_int_htab, 1, sizeof (const_int_htab), ggc_add_root (&const_int_htab, 1, sizeof (const_int_htab),
rtx_htab_mark); rtx_htab_mark);
no_line_numbers = ! line_numbers; no_line_numbers = ! line_numbers;
...@@ -4088,18 +4087,18 @@ init_emit_once (line_numbers) ...@@ -4088,18 +4087,18 @@ init_emit_once (line_numbers)
stack_pointer_rtx = gen_raw_REG (Pmode, STACK_POINTER_REGNUM); stack_pointer_rtx = gen_raw_REG (Pmode, STACK_POINTER_REGNUM);
frame_pointer_rtx = gen_raw_REG (Pmode, FRAME_POINTER_REGNUM); frame_pointer_rtx = gen_raw_REG (Pmode, FRAME_POINTER_REGNUM);
if (hard_frame_pointer_rtx == 0) if (hard_frame_pointer_rtx == 0)
hard_frame_pointer_rtx = gen_raw_REG (Pmode, hard_frame_pointer_rtx = gen_raw_REG (Pmode,
HARD_FRAME_POINTER_REGNUM); HARD_FRAME_POINTER_REGNUM);
if (arg_pointer_rtx == 0) if (arg_pointer_rtx == 0)
arg_pointer_rtx = gen_raw_REG (Pmode, ARG_POINTER_REGNUM); arg_pointer_rtx = gen_raw_REG (Pmode, ARG_POINTER_REGNUM);
virtual_incoming_args_rtx = virtual_incoming_args_rtx =
gen_raw_REG (Pmode, VIRTUAL_INCOMING_ARGS_REGNUM); gen_raw_REG (Pmode, VIRTUAL_INCOMING_ARGS_REGNUM);
virtual_stack_vars_rtx = virtual_stack_vars_rtx =
gen_raw_REG (Pmode, VIRTUAL_STACK_VARS_REGNUM); gen_raw_REG (Pmode, VIRTUAL_STACK_VARS_REGNUM);
virtual_stack_dynamic_rtx = virtual_stack_dynamic_rtx =
gen_raw_REG (Pmode, VIRTUAL_STACK_DYNAMIC_REGNUM); gen_raw_REG (Pmode, VIRTUAL_STACK_DYNAMIC_REGNUM);
virtual_outgoing_args_rtx = virtual_outgoing_args_rtx =
gen_raw_REG (Pmode, VIRTUAL_OUTGOING_ARGS_REGNUM); gen_raw_REG (Pmode, VIRTUAL_OUTGOING_ARGS_REGNUM);
virtual_cfa_rtx = gen_raw_REG (Pmode, VIRTUAL_CFA_REGNUM); virtual_cfa_rtx = gen_raw_REG (Pmode, VIRTUAL_CFA_REGNUM);
/* These rtx must be roots if GC is enabled. */ /* These rtx must be roots if GC is enabled. */
...@@ -4118,7 +4117,7 @@ init_emit_once (line_numbers) ...@@ -4118,7 +4117,7 @@ init_emit_once (line_numbers)
/* Don't use gen_rtx here since gen_rtx in this case /* Don't use gen_rtx here since gen_rtx in this case
tries to use these variables. */ tries to use these variables. */
for (i = - MAX_SAVED_CONST_INT; i <= MAX_SAVED_CONST_INT; i++) for (i = - MAX_SAVED_CONST_INT; i <= MAX_SAVED_CONST_INT; i++)
const_int_rtx[i + MAX_SAVED_CONST_INT] = const_int_rtx[i + MAX_SAVED_CONST_INT] =
gen_rtx_raw_CONST_INT (VOIDmode, i); gen_rtx_raw_CONST_INT (VOIDmode, i);
ggc_add_rtx_root (const_int_rtx, 2 * MAX_SAVED_CONST_INT + 1); ggc_add_rtx_root (const_int_rtx, 2 * MAX_SAVED_CONST_INT + 1);
......
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