cfgexpand.c (expand_debug_expr): For unused non-addressable parameters passed in memory prefer using...
* cfgexpand.c (expand_debug_expr): For unused non-addressable parameters passed in memory prefer using DECL_INCOMING_RTL over the pseudos it will be copied into. From-SVN: r174079
This commit is contained in:
parent
34a061bed5
commit
9025085e6a
2 changed files with 20 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2011-05-23 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* cfgexpand.c (expand_debug_expr): For unused non-addressable
|
||||
parameters passed in memory prefer using DECL_INCOMING_RTL over
|
||||
the pseudos it will be copied into.
|
||||
|
||||
2011-05-23 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
PR target/47315
|
||||
|
|
|
@ -3160,6 +3160,20 @@ expand_debug_expr (tree exp)
|
|||
ENTRY_VALUE_EXP (op0) = incoming;
|
||||
goto adjust_mode;
|
||||
}
|
||||
if (incoming
|
||||
&& MEM_P (incoming)
|
||||
&& !TREE_ADDRESSABLE (SSA_NAME_VAR (exp))
|
||||
&& GET_MODE (incoming) != BLKmode
|
||||
&& (XEXP (incoming, 0) == virtual_incoming_args_rtx
|
||||
|| (GET_CODE (XEXP (incoming, 0)) == PLUS
|
||||
&& XEXP (XEXP (incoming, 0), 0)
|
||||
== virtual_incoming_args_rtx
|
||||
&& CONST_INT_P (XEXP (XEXP (incoming, 0),
|
||||
1)))))
|
||||
{
|
||||
op0 = incoming;
|
||||
goto adjust_mode;
|
||||
}
|
||||
op0 = expand_debug_expr (SSA_NAME_VAR (exp));
|
||||
if (!op0)
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Reference in a new issue