pub fn switches(func: &mut Func, goal: Goal)Expand description
Rewrites every switch in the function into branches, and leaves everything else alone.
The function is changed in place, which is what makes this the last thing that reads the IR as
the front end built it. --emit=ir prints before this runs, and nothing after this asks what
the program said, only what the machine has to do.
goal is whether the level asked for small code, which decides how dense a stretch has to be
and how many clusters it needs before it is a table. See JUMP_TABLE_GROWTH_FOR_SIZE.