Print the type of temporary operands.

It turns out the recent dead-block code "broke" vector component access
from objects. The breakage is really highlighting a problem with temporary
operands and aliasing. The problem was hiding behind a basic-block split
that the recent dead-block work mended and thus exposed the bug.
This commit is contained in:
Bill Currie 2012-12-20 14:47:18 +09:00
parent 7642c666db
commit 580fba2cd1

View file

@ -124,10 +124,13 @@ operand_string (operand_t *op)
return op->o.label->name;
case op_temp:
if (op->o.tempop.alias)
return va ("<tmp %p:%d:%p:%d>", op, op->o.tempop.users,
return va ("<tmp %s %p:%d:%p:%d>",
pr_type_name[op->o.tempop.type->type],
op, op->o.tempop.users,
op->o.tempop.alias,
op->o.tempop.alias->o.tempop.users);
return va ("<tmp %p:%d>", op, op->o.tempop.users);
return va ("<tmp %s %p:%d>", pr_type_name[op->o.tempop.type->type],
op, op->o.tempop.users);
case op_alias:
{
const char *alias = operand_string (op->o.alias);