ghc-8.8.1: The GHC API
Safe HaskellNone




invertCondBranches :: CFG -> LabelMap a -> [NatBasicBlock Instr] -> [NatBasicBlock Instr] Source #

This works on the invariant that all jumps in the given blocks are required. Starting from there we try to make a few more jumps redundant by reordering them.

type InstrBlock = OrdList Instr Source #

InstrBlocks are the insn sequences generated by the insn selectors. They are really trees of insns to facilitate fast appending, where a left-to-right traversal yields the insns in the correct order.