Wrapper that reverses the direction of the CFG

### Parameters

`Base : S with type instrs_dir = InferIR.Instrs.not_reversed`

### Signature

`type t``= Base.t```
`type instrs_dir``= InferIR.Instrs.reversed```
`module Node = Base.Node`
`val instrs : Node.t ‑> instrs_dir InferIR.Instrs.t`

get the instructions from a node

`val fold_succs : t ‑> (Node.t, Node.t, 'accum) InferStdlib.IStd.Container.fold`

fold over all successors (normal and exceptional)

`val fold_preds : t ‑> (Node.t, Node.t, 'accum) InferStdlib.IStd.Container.fold`

fold over all predecessors (normal and exceptional)

`val fold_normal_succs : t ‑> (Node.t, Node.t, 'accum) InferStdlib.IStd.Container.fold`

fold over non-exceptional successors

`val fold_normal_preds : t ‑> (Node.t, Node.t, 'accum) InferStdlib.IStd.Container.fold`

fold over non-exceptional predecessors

`val fold_exceptional_succs : t ‑> (Node.t, Node.t, 'accum) InferStdlib.IStd.Container.fold`

fold over exceptional successors

`val fold_exceptional_preds : t ‑> (Node.t, Node.t, 'accum) InferStdlib.IStd.Container.fold`

fold over exceptional predescessors

`val start_node : t ‑> Node.t`
`val exit_node : t ‑> Node.t`
`val proc_desc : t ‑> InferIR.Procdesc.t`
`val fold_nodes : (t, Node.t, 'accum) InferStdlib.IStd.Container.fold`
`val from_pdesc : InferIR.Procdesc.t ‑> t`
`val is_loop_head : InferIR.Procdesc.t ‑> Node.t ‑> bool`