This again is some small optimization of the order of checks here.
The dom tests don't say if the prop can happen any more so putting
them after tests that will cause the prop not to happen is a good thing.
Bootstrapped and tested on x86_64-linux-gnu.
gcc/ChangeLog:
* tree-ssa-phiprop.cc (propagate_with_phi): Move vuse checks
before the dominator tests.
Signed-off-by: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
&& !gimple_has_volatile_ops (use_stmt)))
continue;
+ tree vuse = gimple_vuse (use_stmt);
+ if (!can_handle_load (use_stmt, bb, vphi, up_vuse))
+ continue;
+
bool aggregate = false;
if (!is_gimple_reg_type (TREE_TYPE (gimple_assign_lhs (use_stmt))))
aggregate = true;
gimple_bb (use_stmt)->loop_father)))))
delay = true;
- tree vuse = gimple_vuse (use_stmt);
- if (!can_handle_load (use_stmt, bb, vphi, up_vuse))
- goto next;
-
/* Found a proper dereference with an aggregate copy. Just
insert aggregate copies on the edges instead. */
if (aggregate)