This is the mail archive of the gcc@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: Still has problems: Re: [tree-ssa] USE or VUSE bugs?


On Mon, 2003-04-28 at 22:24, Wei Liu wrote:
> On Mon, 28 Apr 2003, Diego Novillo wrote:
> 
> > On Mon, Apr 28, 2003 at 11:02:06AM -0500, Wei Liu wrote:
> >
> > >   #   (*str.1)_37 = VDEF <(*str.1)_15>;
> > >   #   (*b.5)_38 = VDEF <(*b.5)_17>;
> > >   #   .GLOBAL_VAR_39 = VDEF <.GL~OBAL_VAR_36>;
> > >   #   VUSE <.GLOBAL_VAR_36>;
> > >   a = c
> > > }
> > >
> > > Please note the last statement "a=c", I hope it has some relation with the
> > > second scanf, i.e. a should be aliased with (*str.6), but acturally not. I
> > > expect I can have # (*str.6)_40 = VDEF <(*str.6)_31> attached to "a=c", or
> > > something similar.
> > >
> > > Do I miss something?
> > >
> > Add -alias to your -fdump... flag.  You should find 'a' aliased to
> > *str.1, *b.5 and .GLOBAL_VAR.
> Yes. I do fine the alias info. Maybe I can simplify my question as: how
> can I get the use operands for the statement "a=c"?
> 
Currently you can't.  'a' is a global and 'c' is aliased.  You either
need to fine tune the alias analyzer and/or follow the virtual operands.

The operands for that statement are telling you that the assignment may
modify *str.1, *b.5 and .GLOBAL_VAR.  As I said yesterday, our alias
analysis routines need a lot of help.  They're way too conservative at
the moment.


Diego.


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