This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Problem in 'reload_cse_regno_equal_p'
- To: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Subject: Re: Problem in 'reload_cse_regno_equal_p'
- From: Michael_Collison at iris dot com
- Date: Wed, 29 Apr 1998 15:10:50 -0400
- cc: egcs at cygnus dot com, gcc2 at cygnus dot com
Looks like you are correct. The problem 'smells' like a memory leak
somewhere. I stepped into 'reload_cse_regs' and watched 'reg_values' being
initialized to zero. Everything is fine after this loop. However a couple
of line later when the 'reload_obstack' gets allocated a specific entry in
'reg_values' (item 42 specifically) is non-zero.
Any ideas on where to start looking for this problem?
Mike
Joern Rennecke <amylaar@cygnus.co.uk> on 04/28/98 05:09:42 PM
To: Michael Collison/Iris
cc: egcs@cygnus.com, gcc2@cygnus.com
Subject: Re: Problem in 'reload_cse_regno_equal_p'
> It seems that the code for the 'for' loop is incorrect. Why is 'x' being
> set
> equal to 'XEXP(x,1)' everytime thru the loop? The code seems to be
assuming
> that it will hit a null pointer and things will be okay with the check at
> the next line. Is it okay for the code to assume this?
Yes, it is. Look at the comment in front of the reg_values declaration.
There should only be EXPR_LISTs of values. So the real question is,
where and why has the raw SYMBOL_REF been added?
att1.eml