condexec merge part 10
Richard Henderson
rth@cygnus.com
Thu Apr 27 00:18:00 GMT 2000
Couple o misc changes.
r~
* rtlanal.c (dead_or_set_regno_p): Use find_regno_note.
* genconfig.c (main): Set all HAVE_foo to 1.
* graph.c (node_data): Use GET_NOTE_INSN_NAME instead of local array.
Index: genconfig.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/genconfig.c,v
retrieving revision 1.33
diff -c -p -d -r1.33 genconfig.c
*** genconfig.c 2000/04/07 09:24:44 1.33
--- genconfig.c 2000/04/27 07:17:05
*************** from the machine description file `md'.
*** 342,363 ****
printf ("#endif\n");
if (have_cc0_flag)
! printf ("#define HAVE_cc0\n");
if (have_cmove_flag)
! printf ("#define HAVE_conditional_move\n");
if (have_cond_exec_flag)
! printf ("#define HAVE_conditional_execution\n");
if (have_lo_sum_flag)
! printf ("#define HAVE_lo_sum\n");
if (have_peephole_flag)
! printf ("#define HAVE_peephole\n");
if (have_peephole2_flag)
! printf ("#define HAVE_peephole2\n");
fflush (stdout);
return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
--- 342,363 ----
printf ("#endif\n");
if (have_cc0_flag)
! printf ("#define HAVE_cc0 1\n");
if (have_cmove_flag)
! printf ("#define HAVE_conditional_move 1\n");
if (have_cond_exec_flag)
! printf ("#define HAVE_conditional_execution 1\n");
if (have_lo_sum_flag)
! printf ("#define HAVE_lo_sum 1\n");
if (have_peephole_flag)
! printf ("#define HAVE_peephole 1\n");
if (have_peephole2_flag)
! printf ("#define HAVE_peephole2 1\n");
fflush (stdout);
return (ferror (stdout) != 0 ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE);
Index: graph.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/graph.c,v
retrieving revision 1.12
diff -c -p -d -r1.12 graph.c
*** graph.c 2000/01/17 17:16:20 1.12
--- graph.c 2000/04/27 07:17:05
*************** darkgrey\n shape: ellipse" : "white",
*** 147,179 ****
/* Print the RTL. */
if (GET_CODE (tmp_rtx) == NOTE)
{
! static const char *note_names[] =
! {
! NULL,
! "deleted",
! "block_beg",
! "block_end",
! "loop_beg",
! "loop_end",
! "function_end",
! "setjmp",
! "loop_cont",
! "loop_vtop",
! "prologue_end",
! "epilogue_beg",
! "deleted_label",
! "function_beg",
! "eh_region_beg",
! "eh_region_end",
! "repeated_line_number",
! "range_start",
! "range_end",
! "live",
! "basic_block"
! };
!
! fprintf (fp, " %s",
! XINT (tmp_rtx, 4) < 0 ? note_names[-XINT (tmp_rtx, 4)] : "");
}
else if (GET_RTX_CLASS (GET_CODE (tmp_rtx)) == 'i')
print_rtl_single (fp, PATTERN (tmp_rtx));
--- 147,156 ----
/* Print the RTL. */
if (GET_CODE (tmp_rtx) == NOTE)
{
! const char *name = "";
! if (NOTE_LINE_NUMBER (tmp_rtx) < 0)
! name = GET_NOTE_INSN_NAME (NOTE_LINE_NUMBER (tmp_rtx));
! fprintf (fp, " %s", name);
}
else if (GET_RTX_CLASS (GET_CODE (tmp_rtx)) == 'i')
print_rtl_single (fp, PATTERN (tmp_rtx));
Index: rtlanal.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/rtlanal.c,v
retrieving revision 1.57
diff -c -p -d -r1.57 rtlanal.c
*** rtlanal.c 2000/04/07 09:24:45 1.57
--- rtlanal.c 2000/04/27 07:17:05
*************** dead_or_set_regno_p (insn, test_regno)
*** 1233,1254 ****
unsigned int regno, endregno;
rtx link, pattern;
! /* See if there is a death note for something that includes
! TEST_REGNO. */
! for (link = REG_NOTES (insn); link; link = XEXP (link, 1))
! {
! if (REG_NOTE_KIND (link) != REG_DEAD
! || GET_CODE (XEXP (link, 0)) != REG)
! continue;
!
! regno = REGNO (XEXP (link, 0));
! endregno = (regno >= FIRST_PSEUDO_REGISTER ? regno + 1
! : regno + HARD_REGNO_NREGS (regno,
! GET_MODE (XEXP (link, 0))));
!
! if (test_regno >= regno && test_regno < endregno)
! return 1;
! }
if (GET_CODE (insn) == CALL_INSN
&& find_regno_fusage (insn, CLOBBER, test_regno))
--- 1233,1241 ----
unsigned int regno, endregno;
rtx link, pattern;
! /* See if there is a death note for something that includes TEST_REGNO. */
! if (find_regno_note (insn, REG_DEAD, test_regno))
! return 1;
if (GET_CODE (insn) == CALL_INSN
&& find_regno_fusage (insn, CLOBBER, test_regno))
More information about the Gcc-patches
mailing list