• R
    tcg: Lower indirect registers in a separate pass · 5a18407f
    Richard Henderson 提交于
    Rather than rely on recursion during the middle of register allocation,
    lower indirect registers to loads and stores off the indirect base into
    plain temps.
    
    For an x86_64 host, with sufficient registers, this results in identical
    code, modulo the actual register assignments.
    
    For an i686 host, with insufficient registers, this means that temps can
    be (temporarily) spilled to the stack in order to satisfy an allocation.
    This as opposed to the possibility of not being able to spill, to allocate
    a register for the indirect base, in order to perform a spill.
    Reviewed-by: NAurelien Jarno <aurelien@aurel32.net>
    Signed-off-by: NRichard Henderson <rth@twiddle.net>
    5a18407f
tcg.c 93.9 KB