On Fri, 2002-12-06 at 10:40, [EMAIL PROTECTED] wrote:

>                  set N0, 3.14
>                  set N0, 3.14
>                  set N0, 3.14

> I don't understand how d and e both become N0, nor how both f and g become
> S0. a, b, and c all seem to get their own registers. Is there some
> optimization going on here since in both cases (num and str), the assigns
> are from the same constant table location? Is imcc smart enough to realize
> that the above transformation doesn't change the semantics of my program,
> or is it perhaps a bug?

Looks like the first stages of constant-folding to me, no?

Presumably if d and e were set to different values or had unpredictable
side effects acting on them, this would not happen.

The constant folding may simply not deal with integers yet....

-- 
Aaron Sherman <[EMAIL PROTECTED]>

Reply via email to