aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-sra.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r--gcc/tree-sra.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index a2529cb..82520ba 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -1009,6 +1009,21 @@ completely_scalarize_var (tree var)
completely_scalarize_record (var, var, 0, var);
}
+/* Return true if REF has an VIEW_CONVERT_EXPR somewhere in it. */
+
+static inline bool
+contains_view_convert_expr_p (const_tree ref)
+{
+ while (handled_component_p (ref))
+ {
+ if (TREE_CODE (ref) == VIEW_CONVERT_EXPR)
+ return true;
+ ref = TREE_OPERAND (ref, 0);
+ }
+
+ return false;
+}
+
/* Search the given tree for a declaration by skipping handled components and
exclude it from the candidates. */