diff options
Diffstat (limited to 'gcc/tree-sra.c')
-rw-r--r-- | gcc/tree-sra.c | 15 |
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. */ |