diff options
author | Tom de Vries <tom@codesourcery.com> | 2015-07-07 16:25:12 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2015-07-07 16:25:12 +0000 |
commit | 338392ed0fd9ca466905860e931b7a480179bce4 (patch) | |
tree | 3eb1e7150ba1a00608cd3f4c2b16ae22ac5438b1 /gcc/tree-cfg.c | |
parent | 9b20858a9ba7039a12cef6e724e541bdcce2ba25 (diff) | |
download | gcc-338392ed0fd9ca466905860e931b7a480179bce4.zip gcc-338392ed0fd9ca466905860e931b7a480179bce4.tar.gz gcc-338392ed0fd9ca466905860e931b7a480179bce4.tar.bz2 |
Add rewrite_virtuals_into_loop_closed_ssa
2015-07-07 Tom de Vries <tom@codesourcery.com>
* tree-cfg.c (get_virtual_phi): New function.
* tree-cfg.h (get_virtual_phi): Declare.
* tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
(rewrite_virtuals_into_loop_closed_ssa): New function.
* tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
Declare.
* tree-parloops.c (replace_uses_in_bbs_by): Remove.
(transform_to_exit_first_loop_alt): Use
rewrite_virtuals_into_loop_closed_ssa.
From-SVN: r225520
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r-- | gcc/tree-cfg.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index f47795a..b7c4026 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -2623,6 +2623,23 @@ delete_tree_cfg_annotations (void) vec_free (label_to_block_map_for_fn (cfun)); } +/* Return the virtual phi in BB. */ + +gphi * +get_virtual_phi (basic_block bb) +{ + for (gphi_iterator gsi = gsi_start_phis (bb); + !gsi_end_p (gsi); + gsi_next (&gsi)) + { + gphi *phi = gsi.phi (); + + if (virtual_operand_p (PHI_RESULT (phi))) + return phi; + } + + return NULL; +} /* Return the first statement in basic block BB. */ |