summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2011-02-15 18:36:16 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2011-02-15 18:36:16 +0000
commit29e4566cee3ded04a2b0a6d538d86962e4227b25 (patch)
tree1b4083e3da8dae77376ffb0717557ef0a7be9e34
parent8ba7ed0c182bdf89793a29696da08cb9977e9554 (diff)
downloadgcc-29e4566cee3ded04a2b0a6d538d86962e4227b25.tar.gz
PR debug/47106
PR debug/47402 * tree-flow.h (referenced_var_lookup): Add fn parameter. Adjust all callers. * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun. * tree-flow-inline.h: Adjust. * gimple-pretty-print.c: Adjust. * tree-into-ssa.c: Adjust. * tree-ssa.c: Adjust. * cfgexpand.c: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170185 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/cfgexpand.c2
-rw-r--r--gcc/gimple-pretty-print.c2
-rw-r--r--gcc/tree-dfa.c4
-rw-r--r--gcc/tree-flow-inline.h2
-rw-r--r--gcc/tree-flow.h2
-rw-r--r--gcc/tree-into-ssa.c2
-rw-r--r--gcc/tree-ssa.c2
8 files changed, 21 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc0d5eddf36..cc9ed6b09fa 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2011-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47106
+ PR debug/47402
+ * tree-flow.h (referenced_var_lookup): Add fn parameter.
+ Adjust all callers.
+ * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
+ * tree-flow-inline.h: Adjust.
+ * gimple-pretty-print.c: Adjust.
+ * tree-into-ssa.c: Adjust.
+ * tree-ssa.c: Adjust.
+ * cfgexpand.c: Adjust.
+
2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
* config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 7b1c441b966..6fdb10d2507 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -520,7 +520,7 @@ update_alias_info_with_stack_vars (void)
for -O0 where we are preserving even unreferenced variables. */
gcc_assert (DECL_P (decl)
&& (!optimize
- || referenced_var_lookup (DECL_UID (decl))));
+ || referenced_var_lookup (cfun, DECL_UID (decl))));
bitmap_set_bit (part, uid);
*((bitmap *) pointer_map_insert (decls_to_partitions,
(void *)(size_t) uid)) = part;
diff --git a/gcc/gimple-pretty-print.c b/gcc/gimple-pretty-print.c
index cda0d169946..747e8cd404f 100644
--- a/gcc/gimple-pretty-print.c
+++ b/gcc/gimple-pretty-print.c
@@ -542,7 +542,7 @@ pp_points_to_solution (pretty_printer *buffer, struct pt_solution *pt)
pp_string (buffer, "{ ");
EXECUTE_IF_SET_IN_BITMAP (pt->vars, 0, i, bi)
{
- tree var = referenced_var_lookup (i);
+ tree var = referenced_var_lookup (cfun, i);
if (var)
{
dump_generic_node (buffer, var, 0, dump_flags, false);
diff --git a/gcc/tree-dfa.c b/gcc/tree-dfa.c
index 05a682b0a4b..f37c30fc2c1 100644
--- a/gcc/tree-dfa.c
+++ b/gcc/tree-dfa.c
@@ -488,12 +488,12 @@ find_referenced_vars_in (gimple stmt)
variable. */
tree
-referenced_var_lookup (unsigned int uid)
+referenced_var_lookup (struct function *fn, unsigned int uid)
{
tree h;
struct tree_decl_minimal in;
in.uid = uid;
- h = (tree) htab_find_with_hash (gimple_referenced_vars (cfun), &in, uid);
+ h = (tree) htab_find_with_hash (gimple_referenced_vars (fn), &in, uid);
return h;
}
diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h
index 23eb3d826de..538d6fe678f 100644
--- a/gcc/tree-flow-inline.h
+++ b/gcc/tree-flow-inline.h
@@ -103,7 +103,7 @@ next_htab_element (htab_iterator *hti)
static inline tree
referenced_var (unsigned int uid)
{
- tree var = referenced_var_lookup (uid);
+ tree var = referenced_var_lookup (cfun, uid);
gcc_assert (var || uid == 0);
return var;
}
diff --git a/gcc/tree-flow.h b/gcc/tree-flow.h
index e5642a0fbe3..e1700375cce 100644
--- a/gcc/tree-flow.h
+++ b/gcc/tree-flow.h
@@ -319,7 +319,7 @@ typedef struct
!end_referenced_vars_p (&(ITER)); \
(VAR) = next_referenced_var (&(ITER)))
-extern tree referenced_var_lookup (unsigned int);
+extern tree referenced_var_lookup (struct function *, unsigned int);
extern bool referenced_var_check_and_insert (tree);
#define num_referenced_vars htab_elements (gimple_referenced_vars (cfun))
diff --git a/gcc/tree-into-ssa.c b/gcc/tree-into-ssa.c
index c425586a156..5f6ea19fc7c 100644
--- a/gcc/tree-into-ssa.c
+++ b/gcc/tree-into-ssa.c
@@ -1469,7 +1469,7 @@ dump_decl_set (FILE *file, bitmap set)
EXECUTE_IF_SET_IN_BITMAP (set, 0, i, bi)
{
- tree var = referenced_var_lookup (i);
+ tree var = referenced_var_lookup (cfun, i);
if (var)
print_generic_expr (file, var, 0);
else
diff --git a/gcc/tree-ssa.c b/gcc/tree-ssa.c
index cc8c83d7c00..a787f710360 100644
--- a/gcc/tree-ssa.c
+++ b/gcc/tree-ssa.c
@@ -1930,7 +1930,7 @@ maybe_optimize_var (tree var, bitmap addresses_taken, bitmap not_reg_needs)
/* If the variable is not in the list of referenced vars then we
do not need to touch it nor can we rename it. */
- if (!referenced_var_lookup (DECL_UID (var)))
+ if (!referenced_var_lookup (cfun, DECL_UID (var)))
return false;
if (TREE_ADDRESSABLE (var)