On Thu, Jul 12, 2012 at 2:38 PM, Richard Guenther <richard.guent...@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