summaryrefslogtreecommitdiff
path: root/gcc/tree-mudflap.c
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-24 10:17:15 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2006-12-24 10:17:15 +0000
commit20a3377f1641164f68192e706866c77f62aac41f (patch)
treecd3ee3dcd58463177a597c08780d3eaaa9324aed /gcc/tree-mudflap.c
parent4dc248c791abf35b72102968eb11c53e82f06e51 (diff)
downloadgcc-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.c7
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'.