Skip to content

Draft: NCG optimisation - Specialize the register allocator.

Ben Gamari requested to merge wip/ncg-perf-2 into master

The register allocator is quite overloaded. Most importantly over the instruction set (instr) and the bitmap to keep track of free registers (freeRegs).

I added a fair few number of INLINEABLE pragmas which now allows us to specialize the allocator in the modules defining the NcgImpl for the varius backends.

Each NcgImpl will then carry around a function that is the specialized allocator for that particular backend.

Edited by Andreas Klebinger

Merge request reports