diff options
author | Martin Jambor <mjambor@suse.cz> | 2009-05-20 12:18:10 +0200 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2009-05-20 12:18:10 +0200 |
commit | 7ec492570b77735583dceb28b091b4fa71ea1320 (patch) | |
tree | c7a89b4084761b0c88e079e93dac65e6158c5343 /gcc/tree-flow-inline.h | |
parent | 3f6f0eb2e4a89be2eed80ad57bf003c3fc0aa210 (diff) | |
download | gcc-7ec492570b77735583dceb28b091b4fa71ea1320.zip gcc-7ec492570b77735583dceb28b091b4fa71ea1320.tar.gz gcc-7ec492570b77735583dceb28b091b4fa71ea1320.tar.bz2 |
tree-flow.h (insert_edge_copies_seq): Undeclare.
2009-05-20 Martin Jambor <mjambor@suse.cz>
* tree-flow.h (insert_edge_copies_seq): Undeclare.
(sra_insert_before): Likewise.
(sra_insert_after): Likewise.
(sra_init_cache): Likewise.
(sra_type_can_be_decomposed_p): Likewise.
* tree-mudflap.c (insert_edge_copies_seq): Copied here from tree-sra.c
* tree-sra.c (sra_type_can_be_decomposed_p): Made static.
(sra_insert_before): Likewise.
(sra_insert_after): Likewise.
(sra_init_cache): Likewise.
(insert_edge_copies_seq): Made static and moved upwards.
* tree-complex.c (extract_component): Added VIEW_CONVERT_EXPR switch
case.
* tree-flow-inline.h (contains_view_convert_expr_p): New function.
* ipa-prop.c (get_ssa_def_if_simple_copy): New function.
(determine_cst_member_ptr): Call get_ssa_def_if_simple_copy to skip
simple copies.
From-SVN: r147733
Diffstat (limited to 'gcc/tree-flow-inline.h')
-rw-r--r-- | gcc/tree-flow-inline.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h index 6a1ae4c..e6de377 100644 --- a/gcc/tree-flow-inline.h +++ b/gcc/tree-flow-inline.h @@ -1136,6 +1136,21 @@ ref_contains_array_ref (const_tree ref) return false; } +/* 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; +} + /* Return true, if the two ranges [POS1, SIZE1] and [POS2, SIZE2] overlap. SIZE1 and/or SIZE2 can be (unsigned)-1 in which case the range is open-ended. Otherwise return false. */ |