• sewardj's avatar
    [project @ 2000-08-21 15:40:14 by sewardj] · b71148fc
    sewardj authored
    Make the register allocator deal properly with switch tables.
    Previously, it didn't calculate the correct flow edges away from the
    indirect jump (in fact it didn't reckon there were any flow edges
    leaving it :) which makes a nonsense of the live variable analysis in
    the branches.
    A jump insn can now optionally be annotated with a list of destination
    labels, and if so, the register allocator creates flow edges to all of
    Jump tables are now re-enabled.  They remain disabled for 4.08.1,
    since we aren't fixing the problem properly on that branch.
    I assume this problem wasn't exposed by the old register allocator
    because of the live-range-approximation hacks used in it.  Since it
    was undocumented, we'll never know.
    Sparc builds will now break until I fix them.