From 45cece950b8813e52e9227f9a80e6a6b9896e030 Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Thu, 29 May 2008 20:14:19 +0000 Subject: * var-tracking.c (track_expr_p): Also track decls that have no RTL set. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/var-mappings-branch@136184 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.varmap | 5 +++++ gcc/var-tracking.c | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog.varmap b/gcc/ChangeLog.varmap index 3391b638fc8..6ba73cc049e 100644 --- a/gcc/ChangeLog.varmap +++ b/gcc/ChangeLog.varmap @@ -1,3 +1,8 @@ +2008-05-29 Michael Matz + + * var-tracking.c (track_expr_p): Also track decls that have + no RTL set. + 2008-05-29 Michael Matz Richard Guenther diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index b8db2692f3e..50564ae10d6 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -1589,11 +1589,6 @@ track_expr_p (tree expr) if (!DECL_NAME (expr)) return 0; - /* ... and a RTL assigned to it. */ - decl_rtl = DECL_RTL_IF_SET (expr); - if (!decl_rtl) - return 0; - /* If this expression is really a debug alias of some other declaration, we don't need to track this expression if the ultimate declaration is ignored. */ @@ -1617,6 +1612,10 @@ track_expr_p (tree expr) if (TREE_STATIC (realdecl)) return 0; + decl_rtl = DECL_RTL_IF_SET (expr); + if (!decl_rtl) + return 1; + /* When the EXPR is a DECL for alias of some variable (see example) the TREE_STATIC flag is not used. Disable tracking all DECLs whose DECL_RTL contains SYMBOL_REF. -- cgit v1.2.3