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] Fix the one entry mem{{,p}cpy,move,set} optimization aliasing issues (PR middle-end/29272)


> When I use just build1 rather than fold_build_indirect_ref I get the IMHO
> right one:
>
> ;; Function foo (foo)
> ;; enabled by -tree-original
> {
>   struct T * p = (struct T *) s;
>
>     struct T * p = (struct T *) s;
>   *(struct T * * {ref-all}) &p->t = *(struct T * * {ref-all}) &t.t;, (void
> *) &p->t;; }
>
> for the 29272 testcase.  But already at *.gimple that's bad again:
>
> foo (s)
> {
>   struct T * D.1530;
>   struct T * p;
>
>   p = (struct T *) s;
>   D.1530 = t.t;
>   p->t = D.1530;
> }
>
> and no ref-all in sight.

Yes, your pointers are not ref-all from the beginning.

-- 
Eric Botcazou


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