Am Donnerstag, 24. Januar 2008 00:18 schrieb Leopold Toetsch:
> a) help the register allocator with the 'tmp' reallocation (the register
> allocator is currently very dumb)

The answer was probably a bit terse, more info is here:

In src/pic_jit.c are some tests, if a subroutine (plus it's call/return) might 
be rewritten as JIT code: 

1) is the register usage of the sub in limits:
...
    if (n_regs_used[REGNO_INT] > regs->n_mapped_I)
        return 0;
    if (n_regs_used[REGNO_NUM] > regs->n_mapped_F)
        return 0;
...

this means, that only very small subs (using ints and floats), like in these 
benchmarks, are currently optimized, and only if the register allocator has 
done the right thing(tm).

2) are call / return types the same:

args_match_params(...)
returns_match_results(...)

The latter was the reason of r25178.

leo

Reply via email to