I'm working on my project for completion undergraduate courses, consisting of an experimental analysis of registers allocation algorithms. For this task, I am using the set of tools from the LLVM project.
However, I have read the documentation of the LLVM project and not yet found a way to put the pieces of the puzzle together. So far I know:
The allocator I intend to implement is based on graph coloring heuristics, as the theory of operation of such methods I’m well aware.
So I look for is some sort of "How to", a defined set of steps to implement such allocator. It sounds like carelessness, but I have to deliver the work in about six months and I'm a little confused.
If anyone can give me some guidance or reference to any supporting material (besides the own documentation), I would be grateful.
My English may be a little wrong, I am a Brazilian student.
Well, after a while I have finished my project and have written an tutorial of How to write an LLVM register allocator using the RegAllocBase
interface.
The tutorial have been written in reStructuredText
and it's available on GitHub: https://github.com/nael8r/How-To-Write-An-LLVM-Register-Allocator