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][RFC] Fix PR26421, improve find_used_portions


On Wed, 22 Feb 2006, Daniel Berlin wrote:

> On Wed, 2006-02-22 at 22:47 +0100, Richard Guenther wrote:
> > On Wed, 22 Feb 2006, Richard Guenther wrote:
> > 
> > > It seems this patch causes gcc.dg/tree-ssa/stdarg-5.c to ICE during
> > > cplxlower in verify_ssa (thus RFC):
> > > 
> > > /abuild/rguenther/gcc/gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c: In 
> > > function ?f7?:
> > > /abuild/rguenther/gcc/gcc/testsuite/gcc.dg/tree-ssa/stdarg-5.c:108: 
> > > internal compiler error: tree check: expected ssa_name, have 
> > > name_memory_tag in verify_ssa, at tree-ssa.c:735
> > > 
> > > we don't like
> > > 
> > > addr.44_7 = &va_arg_tmp.41;
> > > #   VUSE <SFT.154_105>;
> > > D.2281_132 = REALPART_EXPR <*addr.44_7>;
> > > #   VUSE <NMT.168>;
> > > D.2282_133 = IMAGPART_EXPR <*addr.44_7>;
> > 
> > Actually we start from (before cplxlower)
> > 
> >   addr.44_7 = &va_arg_tmp.41;
> >   #   VUSE <SFT.154_105>;
> >   D.2089_8 = *addr.44_7;
> > 
> > and lowering introduces an explicit use of IMAGPART_EXPR.  As we
> > don't treat INDIRECT_REF (var) as explicit use.
> 
> Of course, we can't treat it as an explicit use, because that would
> require knowing what it points to, which we don't have for
> find_used_portions.

Hmm right.

> The statement 
> 
> >   addr.44_7 = &va_arg_tmp.41;
> 
> Should have caused it to mark the entire variable as used, no?

Yes, but only implicitly (though I don't remember what was the
difference later in SFT creation for implicit/explicit uses).

Richard.


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