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]: Reduce memory usage and compile time necessary for pruning


On 3/12/06, Daniel Berlin <dberlin@dberlin.org> wrote:
> On Sun, 2006-03-12 at 21:19 +0100, Eric Botcazou wrote:
> > > Try the attached, and let me know if it fixes your problem.
> >
> > Thanks.  Unfortunately it doesn't, the SMT is call-clobbered. :-(
> >
> >   #   A.3_310 = V_MAY_DEF <A.3_305>;
> >   #   HEAP.18_311 = V_MAY_DEF <HEAP.18_306>;
> >   #   SMT.22_312 = V_MAY_DEF <SMT.22_307>;
> >   #   SMT.23_313 = V_MAY_DEF <SMT.23_308>;
> >   #   SMT.24_314 = V_MAY_DEF <SMT.24_309>;
> >   D.739_214->ARRAY[1] = q__node_to_element_new (arg_node_7) [return slot
> > optimization];
> >
> > Variable: SMT.24, UID 919, struct ALLOC, is addressable, is global, call
> > clobbered, may aliases: { A.3 }
> >
> > Variable: D.739, UID 739, struct ALLOC *, symbol memory tag: SMT.24
> >
> >
> > I've attached a reduced testcase, just compile with 'gcc -O2 p.adb' on x86 but
> > you will need to build the Ada compiler. :-)
> >
>
> So diego, this means that on calls, we end up with a call clobbered def
> on the LHS in the above case, meaning we have V_MAY_DEF's for both the
> LHS and the RHS that we can't distinguish between.
>
> Any idea what to do here?

Require a temporary for correct gimple.

Richard.


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