diff options
author | Jan Hubicka <jh@suse.cz> | 2006-12-24 11:17:15 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2006-12-24 10:17:15 +0000 |
commit | 7a223fd48dcbec588cbd3c26f0fec5eadeb204e8 (patch) | |
tree | cd3ee3dcd58463177a597c08780d3eaaa9324aed /gcc | |
parent | 9b1ae0a09789baa17e9959b57db78ffc7d4a7fa6 (diff) | |
download | gcc-7a223fd48dcbec588cbd3c26f0fec5eadeb204e8.zip gcc-7a223fd48dcbec588cbd3c26f0fec5eadeb204e8.tar.gz gcc-7a223fd48dcbec588cbd3c26f0fec5eadeb204e8.tar.bz2 |
tree-mudflap.c (ml_decl_cache_locals, [...]): add newly referenced vars.
* tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for):
add newly referenced vars.
From-SVN: r120188
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-mudflap.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61925fa..dc885b7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-12-24 Jan Hubicka <jh@suse.cz> + + * tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for): + add newly referenced vars. + 2006-12-24 Kazu Hirata <kazu@codesourcery.com> * basic-block.h: Remove the prototype for diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index 4d80c19..209dc00 100644 --- a/gcc/tree-mudflap.c +++ b/gcc/tree-mudflap.c @@ -460,12 +460,14 @@ mf_decl_cache_locals (void) globals into the cache variables. */ t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (mf_cache_shift_decl_l), mf_cache_shift_decl_l, mf_cache_shift_decl); + add_referenced_var (mf_cache_shift_decl); SET_EXPR_LOCATION (t, DECL_SOURCE_LOCATION (current_function_decl)); gimplify_to_stmt_list (&t); shift_init_stmts = t; t = build2 (GIMPLE_MODIFY_STMT, TREE_TYPE (mf_cache_mask_decl_l), mf_cache_mask_decl_l, mf_cache_mask_decl); + add_referenced_var (mf_cache_mask_decl); SET_EXPR_LOCATION (t, DECL_SOURCE_LOCATION (current_function_decl)); gimplify_to_stmt_list (&t); mask_init_stmts = t; @@ -571,13 +573,17 @@ mf_build_check_statement_for (tree base, tree limit, & __mf_mask]. */ t = build2 (RSHIFT_EXPR, mf_uintptr_type, mf_base, (flag_mudflap_threads ? mf_cache_shift_decl : mf_cache_shift_decl_l)); + add_referenced_var (mf_cache_shift_decl); t = build2 (BIT_AND_EXPR, mf_uintptr_type, t, (flag_mudflap_threads ? mf_cache_mask_decl : mf_cache_mask_decl_l)); + add_referenced_var (mf_cache_mask_decl); t = build4 (ARRAY_REF, TREE_TYPE (TREE_TYPE (mf_cache_array_decl)), mf_cache_array_decl, t, NULL_TREE, NULL_TREE); + add_referenced_var (mf_cache_array_decl); t = build1 (ADDR_EXPR, mf_cache_structptr_type, t); t = build2 (GIMPLE_MODIFY_STMT, void_type_node, mf_elem, t); + add_referenced_var (mf_elem); SET_EXPR_LOCUS (t, locus); gimplify_to_stmt_list (&t); tsi_link_after (&tsi, t, TSI_CONTINUE_LINKING); @@ -601,6 +607,7 @@ mf_build_check_statement_for (tree base, tree limit, build1 (INDIRECT_REF, mf_cache_struct_type, mf_elem), TYPE_FIELDS (mf_cache_struct_type), NULL_TREE); t = build2 (GT_EXPR, boolean_type_node, t, mf_base); + add_referenced_var (mf_base); /* Construct '__mf_elem->high < __mf_limit'. |