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