Expand description
ULLBC to LLBC
We reconstruct the control-flow in the Unstructured LLBC.
The reconstruction algorithm is not written to be efficient (its complexity is probably very bad), but it was not written to be: this is still an early stage and we want the algorithm to generate the best reconstruction as possible. We still need to test the algorithm on more interesting examples, and will consider making it more efficient once it is a bit mature and well tested. Also note that we more importantly focus on making the algorithm sound: the reconstructed program must always be equivalent to the original MIR program, and the fact that the reconstruction preserves this property must be obvious.
StructsΒ§
- Block
Data π - CfgInfo π
- Information precomputed about a functionβs CFG.
- DfsWith
Path - Exit
Info π - Irreducible π
- Error indicating that the control-flow graph is not reducible. The contained block id is a block involved in an irreducible subgraph.
- Loop
Exit πRank - See
ExitInfo::compute_loop_exit_ranks. - Reconstruct
Ctx π - Transform
EnumsΒ§
- Goto
Kind π - Reconstruct
Mode π - Special
Jump π - Stack
Action
FunctionsΒ§
- translate_
body π
Type AliasesΒ§
- BigRational π
- BigUint π
- Arbitrary-precision numbers
- Cfg π
- Control-Flow Graph
- Depth π