diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2015-11-03 03:57:07 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2015-11-03 03:57:07 +0000 |
commit | 1b223a9f3489296c625bdb7cc764196d04fd9231 (patch) | |
tree | 1ca88d2602206178e1b174d26f9a22c25e3f13a8 /gcc/cfgexpand.c | |
parent | ec95cd47926915a7a50a5d94008b4fbfcd46eb46 (diff) | |
download | gcc-1b223a9f3489296c625bdb7cc764196d04fd9231.zip gcc-1b223a9f3489296c625bdb7cc764196d04fd9231.tar.gz gcc-1b223a9f3489296c625bdb7cc764196d04fd9231.tar.bz2 |
defer mark_addressable calls during expand till the end of expand
for gcc/ChangeLog
* gimple-expr.c: Include hash-set.h and rtl.h.
(mark_addressable_queue): New var.
(mark_addressable): Factor actual marking into...
(mark_addressable_1): ... this. Queue it up during expand.
(mark_addressable_2): New.
(flush_mark_addressable_queue): New.
* gimple-expr.h (flush_mark_addressable_queue): Declare.
* cfgexpand.c: Include gimple-expr.h.
(pass_expand::execute): Flush mark_addressable queue.
From-SVN: r229696
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r-- | gcc/cfgexpand.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index b59ea02..bfbc958 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -51,6 +51,7 @@ along with GCC; see the file COPYING3. If not see #include "internal-fn.h" #include "tree-eh.h" #include "gimple-iterator.h" +#include "gimple-expr.h" #include "gimple-walk.h" #include "tree-cfg.h" #include "tree-dfa.h" @@ -6368,6 +6369,8 @@ pass_expand::execute (function *fun) /* We're done expanding trees to RTL. */ currently_expanding_to_rtl = 0; + flush_mark_addressable_queue (); + FOR_BB_BETWEEN (bb, ENTRY_BLOCK_PTR_FOR_FN (fun)->next_bb, EXIT_BLOCK_PTR_FOR_FN (fun), next_bb) { |