var-tracking.c (track_expr_p): Do not return 0 for tracked record parameters passed indirectly.

* var-tracking.c (track_expr_p): Do not return 0 for tracked record
	parameters passed indirectly.

From-SVN: r248402
This commit is contained in:
Eric Botcazou 2017-05-24 08:12:27 +00:00 committed by Eric Botcazou
parent 78672bd8fd
commit 258dfcb78d
2 changed files with 8 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2017-05-24 Eric Botcazou <ebotcazou@adacore.com>
* var-tracking.c (track_expr_p): Do not return 0 for tracked record
parameters passed indirectly.
2017-05-23 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*movdi_internal): Remove SSE4

View file

@ -5220,8 +5220,9 @@ track_expr_p (tree expr, bool need_rtl)
if (decl_rtl && MEM_P (decl_rtl))
{
/* Do not track structures and arrays. */
if (GET_MODE (decl_rtl) == BLKmode
|| AGGREGATE_TYPE_P (TREE_TYPE (realdecl)))
if ((GET_MODE (decl_rtl) == BLKmode
|| AGGREGATE_TYPE_P (TREE_TYPE (realdecl)))
&& !tracked_record_parameter_p (realdecl))
return 0;
if (MEM_SIZE_KNOWN_P (decl_rtl)
&& MEM_SIZE (decl_rtl) > MAX_VAR_PARTS)