aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-ssa-phiopt.c')
-rw-r--r--gcc/tree-ssa-phiopt.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/tree-ssa-phiopt.c b/gcc/tree-ssa-phiopt.c
index aa48f44..13e5c497 100644
--- a/gcc/tree-ssa-phiopt.c
+++ b/gcc/tree-ssa-phiopt.c
@@ -2490,9 +2490,8 @@ cond_store_replacement (basic_block middle_bb, basic_block join_bb,
locus = gimple_location (assign);
lhs = gimple_assign_lhs (assign);
rhs = gimple_assign_rhs1 (assign);
- if ((TREE_CODE (lhs) != MEM_REF
- && TREE_CODE (lhs) != ARRAY_REF
- && TREE_CODE (lhs) != COMPONENT_REF)
+ if ((!REFERENCE_CLASS_P (lhs)
+ && !DECL_P (lhs))
|| !is_gimple_reg_type (TREE_TYPE (lhs)))
return false;