论文部分内容阅读
寄存器分配是编译器后端的一个重要环节。功能是将中间语言中的虚拟寄存器分配到特定目标机的物理寄存器中并进行替换。寄存器分配优化技术是编译器后端优化的重要技术之一,本文针对嵌入式系统的特点,提出一种新的寄存器分配思路,将变量的生存期细分为“段”,以段为单位进行溢出决策。并且在此思路的基础上提出了相应的分配算法和改进策略,其最终目标是尽可能利用寄存器资源,避免内存访问的开销,从而进一步满足嵌入式系统对于生成程序运行时间的要求。
最终本文在LLVM编译框架上实现了这种新的分配方式并分别用新方法和LLVM中固有的线性扫描编译相同的C程序。通过对比两种程序分配后的文件,发现本文所提的方法减少了一部分高嵌套层数基本块的内存访问指令的添加,验证了其确实在一定程度上提高了生成代码的质量。