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: RFC: Are V_MUST_DEFs really necessary?


On 3/8/06, Diego Novillo <dnovillo@redhat.com> wrote:
> On 03/08/06 11:54, Richard Guenther wrote:
>
> > i.e. we see that for a = b it's a killing def, while the assignment to
> > a.x[2] is only
> > partial.  So what will we have in mem-ssa for the killing a = b and
> > the partial def?
> >
> Right now, nothing.  Memory SSA gives you an identical IL in this case.
>
> Removing V_MUST_DEFs is orthogonal to memory SSA.  Taking your example,
> what wouldn't you be able to do if the code was:
>
> # a_3 = VDEF <a_2>
> # VUSE <b_1>
> a = b;
>
> # VUSE <b_1>
> D.1284_4 = b.x[2];
>
> # a_5 = VDEF <a_3>
> a.x[2] = D.1284_4;
>
>
> I'm trying to look for cases where replacing V_MUST_DEF with V_MAY_DEF
> would cause the optimizers to take over-conservative decisions, and
> those over-conservative decisions are *impossible* to fix without the
> notion of V_MUST_DEF.

I think there are none.  If we got the above, we'll have to make sure that
for a = b it is a killing def ourselves rather than just checking for a single
V_MUST_DEF.  Not a big deal, if any.

Richard.


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