From: Richard Biener Date: Fri, 27 Mar 2020 12:52:31 +0000 (+0100) Subject: tree-optimization/94352 - fix uninitialized use of curr_order X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=917e21e8bcddf5047ee0ced063fca412ad81ce7f;p=gcc.git tree-optimization/94352 - fix uninitialized use of curr_order This fixes a (harmless) use of a not re-initialized curr_order. 2020-03-27 Richard Biener PR tree-optimization/94352 * tree-ssa-propagate.c (ssa_prop_init): Move seeding of the worklist ... (ssa_propagation_engine::ssa_propagate): ... here after initializing curr_order. --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bf7204f82df..97cad024271 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2020-03-27 Richard Biener + + PR tree-optimization/94352 + * tree-ssa-propagate.c (ssa_prop_init): Move seeding of the + worklist ... + (ssa_propagation_engine::ssa_propagate): ... here after + initializing curr_order. + 2020-03-27 Kewen Lin PR tree-optimization/90332 diff --git a/gcc/tree-ssa-propagate.c b/gcc/tree-ssa-propagate.c index 06d4b2a74c7..2fad2472775 100644 --- a/gcc/tree-ssa-propagate.c +++ b/gcc/tree-ssa-propagate.c @@ -421,14 +421,6 @@ ssa_prop_init (void) e->flags &= ~EDGE_EXECUTABLE; } uid_to_stmt.safe_grow (gimple_stmt_max_uid (cfun)); - - /* Seed the algorithm by adding the successors of the entry block to the - edge worklist. */ - FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR_FOR_FN (cfun)->succs) - { - e->flags &= ~EDGE_EXECUTABLE; - add_control_edge (e); - } } @@ -758,7 +750,16 @@ ssa_propagation_engine::ssa_propagate (void) /* Iterate until the worklists are empty. We iterate both blocks and stmts in RPO order, using sets of two worklists to first - complete the current iteration before iterating over backedges. */ + complete the current iteration before iterating over backedges. + Seed the algorithm by adding the successors of the entry block to the + edge worklist. */ + edge e; + edge_iterator ei; + FOR_EACH_EDGE (e, ei, ENTRY_BLOCK_PTR_FOR_FN (cfun)->succs) + { + e->flags &= ~EDGE_EXECUTABLE; + add_control_edge (e); + } while (1) { int next_block_order = (bitmap_empty_p (cfg_blocks)