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 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.


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