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 wrote:
>> On 09/03/14 02:35, Steven Bosscher wrote:
>> >On We
> 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 han
On Wed, Sep 3, 2014 at 1:29 AM, Steven Bosscher wrote:
> On Wed, Sep 3, 2014 at 1:35 AM, Carrot Wei wrote:
>> 1. It is well known that register renaming is a big help to register
>> allocation, but in gcc's backend, the web pass is far before RA, there
>> are about 20 passes between them. Does it
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. Perhap
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 bee
On Wed, Sep 3, 2014 at 1:35 AM, Carrot Wei wrote:
> 1. It is well known that register renaming is a big help to register
> allocation, but in gcc's backend, the web pass is far before RA, there
> are about 20 passes between them. Does it mean register renaming can
> also heavily benefit other optim
On Wed, Sep 3, 2014 at 7:35 AM, Carrot Wei wrote:
> Hi
>
> I have following questions about web (pseudo register renaming) pass:
>
> 1. It is well known that register renaming is a big help to register
> allocation, but in gcc's backend, the web pass is far before RA, there
> are about 20 passes b
For the relation between web and AUTOINC, I found the code in union_defs:
if (DF_REF_FLAGS (use) & DF_REF_READ_WRITE)
{
...
}
So web should handle AUTOINC in theory, but in an experiment, I added
a second web pass just before RA, web generated wrong code in the
presence of AUTOINC express