mirror of
https://github.com/simonlindholm/decomp-permuter.git
synced 2026-11-07 09:16:08 -10:00
Negates the condition and swaps the blocks, leaving the meaning the same but often influencing basic block layout (unless the compiler feels very strongly about it for some reason). This can generally only run so many times in a permute before it's not useful anymore, so it's got low default weight, but it's still a transformation none of the other passes are able to do reliably. We could be more elegant with inverting conditions, such as writing (a != b) instead of !(a == b) (or similar with greater-than, de Morgan's laws, etc.), but generally, this is kept simple for now.