[Bug bootstrap/13692] [3.4 Regression] ICE in schedule_insns, at sched-rgn.c:2743 with stage1 compiler compiling crtstuff.c

hubicka at ucw dot cz gcc-bugzilla@gcc.gnu.org
Thu Jan 15 09:47:00 GMT 2004


------- Additional Comments From hubicka at ucw dot cz  2004-01-15 09:46 -------
Subject: Re:  [3.4 Regression] ICE in schedule_insns, at sched-rgn.c:2743 with stage1 compiler compiling crtstuff.c

> 
> ------- Additional Comments From pinskia at gcc dot gnu dot org  2004-01-15 06:10 -------
> This patch also causes bootstrap failure on hpux also, see <http://gcc.gnu.org/ml/gcc-
> regression/2004-01/msg00107.html> and <http://gcc.gnu.org/ml/gcc-regression/2004-01/
> msg00108.html> and the error is the same as sparc's.
the attached patch should fix it.
It looks like I got fooled by latent cselib suport code bug just before
the hunk I changed.

Index: sched-deps.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/sched-deps.c,v
retrieving revision 1.64
diff -c -3 -p -r1.64 sched-deps.c
*** sched-deps.c	14 Jan 2004 22:43:53 -0000	1.64
--- sched-deps.c	15 Jan 2004 09:30:29 -0000
*************** sched_analyze_1 (struct deps *deps, rtx 
*** 545,551 ****
  	  cselib_lookup (XEXP (t, 0), Pmode, 1);
  	  XEXP (t, 0) = cselib_subst_to_values (XEXP (t, 0));
  	}
!       XEXP (t, 0) = canon_rtx (XEXP (t, 0));
  
        if (deps->pending_lists_length > MAX_PENDING_LIST_LENGTH)
  	{
--- 545,551 ----
  	  cselib_lookup (XEXP (t, 0), Pmode, 1);
  	  XEXP (t, 0) = cselib_subst_to_values (XEXP (t, 0));
  	}
!       t = canon_rtx (t);
  
        if (deps->pending_lists_length > MAX_PENDING_LIST_LENGTH)
  	{
*************** sched_analyze_2 (struct deps *deps, rtx 
*** 687,693 ****
  	    cselib_lookup (XEXP (t, 0), Pmode, 1);
  	    XEXP (t, 0) = cselib_subst_to_values (XEXP (t, 0));
  	  }
!         XEXP (t, 0) = canon_rtx (XEXP (t, 0));
  	pending = deps->pending_read_insns;
  	pending_mem = deps->pending_read_mems;
  	while (pending)
--- 687,693 ----
  	    cselib_lookup (XEXP (t, 0), Pmode, 1);
  	    XEXP (t, 0) = cselib_subst_to_values (XEXP (t, 0));
  	  }
! 	t = canon_rtx (t);
  	pending = deps->pending_read_insns;
  	pending_mem = deps->pending_read_mems;
  	while (pending)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13692



More information about the Gcc-bugs mailing list