On Thu, May 1, 2008 at 2:19 PM, Olga Golovanevsky <[EMAIL PROTECTED]> wrote: > > > [EMAIL PROTECTED] wrote on 28/04/2008 12:36:44: > > > > Hello, > > I am looking at a testsuite failure (wo_prof_global_var.c) in my > > porting. Somehow, I found GCC 4.3.0 seems to generate unnecessary malloc > > during structure optimization. In the code, the structure is split into > > two individual fields (D.2240 and D.2242) and they are allocated > > separately. But the original structure (D.2215) is still allocated, and > > not used afterward. The following RTL-level optimization cannot > > eliminate it. > > I think that p is global, and in my understanding right now we have no > whole > program dead code elimination optimization in gcc, but may be I am wrong.
You cannot remove p, but if you could split up the allocation for *p then you can for sure remove the original allocation for *p. Otherwise you generated wrong code in the first place, which you certainly did, if p was global. Richard.