rs6000.c (rs6000_output_function_prologue): Compute instruction addresses.

2002-04-16  Dale Johannesen <dalej@apple.com>

        * config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
        instruction addresses.
        (rs6000_output_function_epilogue): Likewise.

From-SVN: r52378
This commit is contained in:
Dale Johannesen 2002-04-16 21:56:09 +00:00 committed by David Edelsohn
parent 7d6f636993
commit 178c3eff52
2 changed files with 31 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2002-04-16 Dale Johannesen <dalej@apple.com>
* config/rs6000/rs6000.c (rs6000_output_function_prologue): Compute
instruction addresses.
(rs6000_output_function_epilogue): Likewise.
2002-04-16 Paolo Carlini <pcarlini@unitus.it> 2002-04-16 Paolo Carlini <pcarlini@unitus.it>
* c-parse.in (poplevel, compstmt_start, * c-parse.in (poplevel, compstmt_start,

View File

@ -7250,11 +7250,11 @@ rs6000_emit_cmove (dest, op, true_cond, false_cond)
rtx temp; rtx temp;
/* These modes should always match. */ /* These modes should always match. */
if ( GET_MODE (op1) != compare_mode ) if (GET_MODE (op1) != compare_mode)
return 0; return 0;
if ( GET_MODE (true_cond) != result_mode ) if (GET_MODE (true_cond) != result_mode)
return 0; return 0;
if ( GET_MODE (false_cond) != result_mode ) if (GET_MODE (false_cond) != result_mode)
return 0; return 0;
/* First, work out if the hardware can do this at all, or /* First, work out if the hardware can do this at all, or
@ -9039,6 +9039,17 @@ rs6000_output_function_prologue (file, size)
emit_note (0, NOTE_INSN_DELETED); emit_note (0, NOTE_INSN_DELETED);
rs6000_emit_prologue (); rs6000_emit_prologue ();
emit_note (0, NOTE_INSN_DELETED); emit_note (0, NOTE_INSN_DELETED);
/* Expand INSN_ADDRESSES so final() doesn't crash. */
{
rtx insn;
unsigned addr = 0;
for (insn = get_insns (); insn != 0; insn = NEXT_INSN (insn))
{
INSN_ADDRESSES_NEW (insn, addr);
addr += 4;
}
}
if (TARGET_DEBUG_STACK) if (TARGET_DEBUG_STACK)
debug_rtx_list (get_insns (), 100); debug_rtx_list (get_insns (), 100);
@ -9427,6 +9438,17 @@ rs6000_output_function_epilogue (file, size)
rs6000_emit_epilogue (FALSE); rs6000_emit_epilogue (FALSE);
emit_note (0, NOTE_INSN_DELETED); emit_note (0, NOTE_INSN_DELETED);
/* Expand INSN_ADDRESSES so final() doesn't crash. */
{
rtx insn;
unsigned addr = 0;
for (insn = get_insns (); insn != 0; insn = NEXT_INSN (insn))
{
INSN_ADDRESSES_NEW (insn, addr);
addr += 4;
}
}
if (TARGET_DEBUG_STACK) if (TARGET_DEBUG_STACK)
debug_rtx_list (get_insns (), 100); debug_rtx_list (get_insns (), 100);
final (get_insns (), file, FALSE, FALSE); final (get_insns (), file, FALSE, FALSE);