我正在完成我的完成本科课程的项目,包括寄存器分配算法的实验分析。对于此任务,我使用的是LLVM项目中的一组工具。
但是,我已经阅读了LLVM项目的文档,但还没有找到将拼图块放在一起的方法。到目前为止,我知道:
我打算实现的分配器是基于图着色启发式算法,因为我很清楚这些方法的操作理论。
所以我寻找的是某种"如何",一组定义的步骤来实现这样的分配器。这听起来像是粗心大意,但我必须在大约六个月内完成这项工作,我有点困惑。
如果有人能给我一些指导或参考任何辅助材料(除了自己的文件),我将不胜感激。
我的英语可能有点不对劲,我是巴西学生。
答案 0 :(得分:0)
好吧,过了一段时间我完成了我的项目,并编写了一个如何使用return 5
接口编写LLVM寄存器分配器的教程。
本教程是用transform :: String -> String
transform [] = []
transform [x] = x
transform (x:y:xs)
| x == "a" && y == "b" = "a" ++ (transform xs)
| x == "b" && y == "a" = "b" ++ (transform xs)
| x == "b" && y == "b" = "a" ++ (transform xs)
| x == "a" && y == "a" = "aaa" ++ (transform xs)
编写的,可以在GitHub上找到:https://github.com/nael8r/How-To-Write-An-LLVM-Register-Allocator