* var-tracking.c (track_expr_p): Do not return 0 for tracked record
parameters passed indirectly.
From-SVN: r248402
+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
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)