genrtlil records the case item as compare_src and the block as the case's
own src, so the actions inside a case point at the statements that wrote
them rather than at the selector. A $eq then stands for both sides of the
comparison it performs - the switch expression and the case value - the
$reduce_or over them for the case value, and the _CMP wire for the switch.
A mux passes its fused locations on to the wire it drives.
The gatemate fsm LUT counts go back to what they were before the source
work: the finer mapping restores the earlier covering.
Picks up the proc part of emil/twines-proc-srcloc-rebased:
b2d57e5d4 rtlil: add case_src to CaseRule
c74bc43cf proc_mux, genrtlil: make use of case_src
9bc771e05 proc_mux: copy switch src to _CMP wire
6182c7dd8 proc_mux: copy mux src to Y port
3d2e26815 kernel: add SwitchRule signal_src
cf3867bb1 proc_mux: include switch expression location in $eq src