a variable part from its REG, MEM or VALUE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153665
138bc75d-0d04-0410-961f-
82ee72b054a4
+2009-10-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * var-tracking.c (emit_note_insn_var_location): Get the mode of
+ a variable part from its REG, MEM or VALUE.
+
2009-10-28 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_get_alias_set): Fix comment typo.
continue;
}
loc[n_var_parts] = loc2;
- mode = GET_MODE (loc[n_var_parts]);
+ mode = GET_MODE (var->var_part[i].loc_chain->loc);
initialized = var->var_part[i].loc_chain->init;
last_limit = offsets[n_var_parts] + GET_MODE_SIZE (mode);
break;
if (j < var->n_var_parts
&& wider_mode != VOIDmode
+ && mode == GET_MODE (var->var_part[j].loc_chain->loc)
&& (loc2 = vt_expand_loc (var->var_part[j].loc_chain->loc, vars))
&& GET_CODE (loc[n_var_parts]) == GET_CODE (loc2)
- && mode == GET_MODE (loc2)
&& last_limit == var->var_part[j].offset)
{
rtx new_loc = NULL;