diff options
Diffstat (limited to 'gcc/tree-ssa.c')
-rw-r--r-- | gcc/tree-ssa.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c index 5ba8f65..89d40a1 100644 --- a/gcc/tree-ssa.c +++ b/gcc/tree-ssa.c @@ -473,20 +473,11 @@ set_is_used (tree t) if (SSA_VAR_P (t)) break; - switch (TREE_CODE (t)) - { - case ARRAY_REF: - case COMPONENT_REF: - case REALPART_EXPR: - case IMAGPART_EXPR: - case BIT_FIELD_REF: - case INDIRECT_REF: + if (TREE_CODE (t) == REALPART_EXPR || TREE_CODE (t) == IMAGPART_EXPR) + t = TREE_OPERAND (t, 0); + else + while (handled_component_p (t)) t = TREE_OPERAND (t, 0); - break; - - default: - return; - } } if (TREE_CODE (t) == SSA_NAME) |