summaryrefslogtreecommitdiff
path: root/gcc/var-tracking.c
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-31 10:18:27 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-31 10:18:27 +0000
commitd42d3fad6998402ea943bc2a3159cad09eb288d5 (patch)
treed70dbc97eb104b1c403ef6d4cff46da1ebf52c76 /gcc/var-tracking.c
parent8422fa6afbb619fc66678c664bfaf834691527fc (diff)
downloadgcc-d42d3fad6998402ea943bc2a3159cad09eb288d5.tar.gz
2012-10-31 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 193029 using svnmerge.py git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@193030 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r--gcc/var-tracking.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 25973a9776e..d5ab1d1e554 100644
--- a/gcc/var-tracking.c
+++ b/gcc/var-tracking.c
@@ -4921,7 +4921,9 @@ track_expr_p (tree expr, bool need_rtl)
realdecl = expr;
else if (!DECL_P (realdecl))
{
- if (handled_component_p (realdecl))
+ if (handled_component_p (realdecl)
+ || (TREE_CODE (realdecl) == MEM_REF
+ && TREE_CODE (TREE_OPERAND (realdecl, 0)) == ADDR_EXPR))
{
HOST_WIDE_INT bitsize, bitpos, maxsize;
tree innerdecl
@@ -6746,11 +6748,11 @@ vt_find_locations (void)
visited = sbitmap_alloc (last_basic_block);
in_worklist = sbitmap_alloc (last_basic_block);
in_pending = sbitmap_alloc (last_basic_block);
- sbitmap_zero (in_worklist);
+ bitmap_clear (in_worklist);
FOR_EACH_BB (bb)
fibheap_insert (pending, bb_order[bb->index], bb);
- sbitmap_ones (in_pending);
+ bitmap_ones (in_pending);
while (success && !fibheap_empty (pending))
{
@@ -6761,7 +6763,7 @@ vt_find_locations (void)
in_pending = in_worklist;
in_worklist = sbitmap_swap;
- sbitmap_zero (visited);
+ bitmap_clear (visited);
while (!fibheap_empty (worklist))
{