}
/* if already has a asmop then continue */
- if (op->aop)
+ if (op->aop && aop->size == getSize(sym->type))
{
return;
}
aopForSym (ic, sym->usl.spillLoc, result, requires_a);
wassertl (aop->size >= getSize (sym->type), "Operand doesn't fit in the spill location");
aop->size = getSize (sym->type);
- /* PENDING: HACK. Can have different sizes in the same AOP. */
- sym->usl.spillLoc->aop = NULL;
return;
}