diff options
Diffstat (limited to 'gcc/tree-ssa-phiopt.c')
-rw-r--r-- | gcc/tree-ssa-phiopt.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c index 05166eb8c90..0dcfbc7a8bc 100644 --- a/gcc/tree-ssa-phiopt.c +++ b/gcc/tree-ssa-phiopt.c @@ -1820,7 +1820,8 @@ hoist_adjacent_loads (basic_block bb0, basic_block bb1, gimple_stmt_iterator gsi2; basic_block bb_for_def1, bb_for_def2; - if (gimple_phi_num_args (phi_stmt) != 2) + if (gimple_phi_num_args (phi_stmt) != 2 + || virtual_operand_p (gimple_phi_result (phi_stmt))) continue; arg1 = gimple_phi_arg_def (phi_stmt, 0); @@ -1829,9 +1830,7 @@ hoist_adjacent_loads (basic_block bb0, basic_block bb1, if (TREE_CODE (arg1) != SSA_NAME || TREE_CODE (arg2) != SSA_NAME || SSA_NAME_IS_DEFAULT_DEF (arg1) - || SSA_NAME_IS_DEFAULT_DEF (arg2) - || !is_gimple_reg (arg1) - || !is_gimple_reg (arg2)) + || SSA_NAME_IS_DEFAULT_DEF (arg2)) continue; def1 = SSA_NAME_DEF_STMT (arg1); |