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 tree-ssa-reassoc to not look at first_pass_instance


On Thu, Jul 12, 2012 at 2:38 PM, Richard Guenther
<richard.guenther@gmail.com> wrote:
>> Richi, could you please have a look at jump threading, and see if
>> first_pass_instance can be remove?

Ping? :-)


>> Bootstrapped&tested on x86_64-unknown-linux-gnu. OK for trunk?
>
> This was proposed before and I did not like that,

I wasn't aware of that. Why wasn't the comment before
first_pass_instance in tree-pass.h adjusted? It quite explicitly
suggests that it is a work-around that should not be proliferated.


> it makes -fdump-tree-reassoc
> non-functional (you have to use -fdump-tree-reassoc1 -fdump-tree-reassoc2).
> I much prefer an internal "hack" than such externally visible oddity.
>
> That said, add to struct pass a member "instance number" which a
> pass can check via current_pass.

That replaces one global variable use with another, at the cost of
changing all pass structures everywhere and looking at current_pass
from within a pass. That's just backwards.

(And actually, I would like to see current_pass go away, too. Its only
user right now are statistics.c, config/avr/avr-log., and
config/epiphany/epiphany.c.)

It'd be nice if there would be some way to allow passes to reflect on
themselves... Or at least allow the pass manager to feed the pass
execution function some data. Perhaps I'll take that path instead: add
an "int flags" argument to the execute function and pass it some TBD
value that this is the first time the pass runs, would that work for
you?

Ciao!
Steven


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