It is indeed caused by wrong DF information, which is caused by a wrong fix for bug PR32339. More discussion is at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63156.
thanks a lot Guozhi Wei On Tue, Sep 9, 2014 at 5:31 PM, Jan Hubicka <hubi...@ucw.cz> wrote: >> On 09/03/14 02:35, Steven Bosscher wrote: >> >On Wed, Sep 3, 2014 at 9:17 AM, Bin.Cheng wrote: >> >>Last time I tried, there are several passes after loop_done and before >> >>auto-inc-dec can't handle auto-increment addressing mode, including >> >>fweb. >> > >> >It surprises me that pass_web can't handle AUTOINC. Perhaps I'm off my >> >rocker, but it's always been my understanding that almost all passes >> >handle AUTOINC just fine (or at least conservatively: punt if you see >> >an AUTOINC), and that only CSE really doesn't know about AUTOINC at >> >all. >> In the past autoinc instructions didn't appear until flow (just >> prior to combine) and that was documented behaviour. So anything >> which was run strictly prior to flow/combine wasn't autoinc aware. >> That may have changed somewhat with the autoinc rewrite. > > It is long time since I looked at web, but it should understand read/write > refs > and that those must remain unified. how does DF refs look like for autoinc? > > Honza >> >> jeff