JKTKops / JKTKops/cspim

Use Hoopl with MIPS

Open
#10 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Haskell
Stars
5
Forks
0
PR merge metrics
No merged PRs in 30d

Description

MIPS is currently outputted as a list of instructions which is pretty much impossible to optimize. A future idea is to take the outputted list, rebuild it into a new Hoopl Graph. Rebuilding is necessary so that all functions share the same graph; TemplateHaskell magic can be used to maintain a mirror of the MipsInstruction type with Hoopl type parameters as well as (partial) homomorphisms between them.

Then Hoopl can be used to optimize the graph form, and then to output a list of MipsInstructions again.

There's a secondary benefit that the second output step will re-order the functions to minimize backwards jumps. QtSpim doesn't care about this in terms of performance, but a future x86 version of cspim certainly would care.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.