diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-24 10:17:15 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-12-24 10:17:15 +0000 |
commit | 20a3377f1641164f68192e706866c77f62aac41f (patch) | |
tree | cd3ee3dcd58463177a597c08780d3eaaa9324aed /gcc/tree-mudflap.c | |
parent | 4dc248c791abf35b72102968eb11c53e82f06e51 (diff) | |
download | gcc-20a3377f1641164f68192e706866c77f62aac41f.tar.gz |
* tree-mudflap.c (ml_decl_cache_locals, md_build_check_statement_for):
add newly referenced vars.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120188 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-mudflap.c')
-rw-r--r-- | gcc/tree-mudflap.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree-mudflap.c b/gcc/tree-mudflap.c index 4d80c19d385..209dc00ab77 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'. |