Commit dbb2a2cb by Jakub Jelinek Committed by Jakub Jelinek

var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value in a temporary…

var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value in a temporary instead of invoking the macro...

	* var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
	in a temporary instead of invoking the macro multiple times.
	(track_expr_p): Likewise.

From-SVN: r159058
parent 371b334e
2010-05-05 Jakub Jelinek <jakub@redhat.com>
* var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
in a temporary instead of invoking the macro multiple times.
(track_expr_p): Likewise.
2010-05-04 Neil Vachharajani <nvachhar@google.com>
* doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
......
......@@ -1573,9 +1573,12 @@ static inline tree
var_debug_decl (tree decl)
{
if (decl && DECL_P (decl)
&& DECL_DEBUG_EXPR_IS_FROM (decl) && DECL_DEBUG_EXPR (decl)
&& DECL_P (DECL_DEBUG_EXPR (decl)))
decl = DECL_DEBUG_EXPR (decl);
&& DECL_DEBUG_EXPR_IS_FROM (decl))
{
tree debugdecl = DECL_DEBUG_EXPR (decl);
if (debugdecl && DECL_P (debugdecl))
decl = debugdecl;
}
return decl;
}
......@@ -4497,12 +4500,14 @@ track_expr_p (tree expr, bool need_rtl)
don't need to track this expression if the ultimate declaration is
ignored. */
realdecl = expr;
if (DECL_DEBUG_EXPR_IS_FROM (realdecl) && DECL_DEBUG_EXPR (realdecl))
if (DECL_DEBUG_EXPR_IS_FROM (realdecl))
{
realdecl = DECL_DEBUG_EXPR (realdecl);
if (realdecl == NULL_TREE)
realdecl = expr;
/* ??? We don't yet know how to emit DW_OP_piece for variable
that has been SRA'ed. */
if (!DECL_P (realdecl))
else if (!DECL_P (realdecl))
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment