This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix cselib ICEs with ebb scheduling (PR bootstrap/43596)


On Wed, 31 Mar 2010, Jakub Jelinek wrote:

> Hi!
> 
> ia64 doesn't bootstrap ATM, because cselib_process_insn forgets
> to reset cselib_current_insn on labels, setjmp calls or volatile asms
> (the last one is what broke boehm-gc build) and the new assertion
> in cselib_lookup_from_insn which expects not to be called from within
> cselib_process_insn fails.
> 
> Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux,
> bootstrap still pending on ia64-linux, ok for trunk?

Ok.

Thanks,
Richard.

> 2010-03-31  Jakub Jelinek  <jakub@redhat.com>
> 
> 	PR bootstrap/43596
> 	* cselib.c (cselib_process_insn): Clear cselib_current_insn
> 	even before returning from label, setjmp call or volatile asm
> 	handling.
> 
> --- gcc/cselib.c.jj	2010-03-31 13:12:00.000000000 +0200
> +++ gcc/cselib.c	2010-03-31 15:02:29.000000000 +0200
> @@ -2155,12 +2155,13 @@ cselib_process_insn (rtx insn)
>  	  && MEM_VOLATILE_P (PATTERN (insn))))
>      {
>        cselib_reset_table (next_uid);
> +      cselib_current_insn = NULL_RTX;
>        return;
>      }
>  
>    if (! INSN_P (insn))
>      {
> -      cselib_current_insn = 0;
> +      cselib_current_insn = NULL_RTX;
>        return;
>      }
>  
> @@ -2202,7 +2203,7 @@ cselib_process_insn (rtx insn)
>        if (GET_CODE (XEXP (x, 0)) == CLOBBER)
>  	cselib_invalidate_rtx (XEXP (XEXP (x, 0), 0));
>  
> -  cselib_current_insn = 0;
> +  cselib_current_insn = NULL_RTX;
>  
>    if (n_useless_values > MAX_USELESS_VALUES
>        /* remove_useless_values is linear in the hash table size.  Avoid
> 
> 	Jakub
> 
> 

-- 
Richard Guenther <rguenther@suse.de>
Novell / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 - GF: Markus Rex


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]