在过去的数十年中,优化技术绝对是编译器设计领域中最炙手可热的话题。关于优化技术的经典论文不胜枚举,有兴趣的读者可以参考“鲸书”各章的参考文献,其中,详尽列出了各种优化技术发展历程中的经典论文与著作,本书不再赘述。首先,笔者推荐几个优化编译器的资源。
Open64是一个开源的编译器后端。1999年,SGI发布了一个工业化的并行优化编译器Pr064(TM)及其源代码,后来经过全世界多个编译器研究小组的改进,最终命名为Open64。Open64的设计结构优秀,分析优化全面,是高级编译优化技术的理想平台。Open64的前端主要源于GCC 2.95,目前,支持C、C++、Fortran 90/95等前端。读者可以访问http://www.open64.net/,以获得更多的资源。
SUIF是由Monica Lam和她在斯坦福大学的同事一起开发的一个研究型编译器。SUIF并不是一个产品级系统,它只是用于优化技术与并行编译的研究。目前,SUIF共有两个版本,分别是SUIF1和SUIF2,SUIF1是1994年诞生的,而SUIF2是1999开发完成的。SUIF是一个将C、Fortran 77转换为MIPS代码的编译器,当然,SUIF2已经实现了Compaq、Alpha、x86的代码生成器。其中,还包括了数组依赖关系分析库、循环转换库、矩阵和线性不等式运算库、并行代码生成器和运行库、标量优化器等资源。读者可以访问http://suif.stanford.edu/,以获得相关信息。
LANCE也是一个优秀的开源编译器平台。它为开发一个高效的C编译器提供了一个系统平台,这主要是依赖于其精巧的设计结构。LANCE包括C编译器前端、机器无关的优化组件、IR分析与处理库、代码生成器等组件。LANCE的主要目标就是嵌入式C编译器,因此,在工程领域,LANCE获得广泛应用。读者可以访问http://www.lancecompiler.com/,以获得相关资料。LANCE的源代码是可以通过认可申请的。
最后,笔者再来推荐几本优化方面的经典著作,供读者参考学习。
1、现代体系结构的优化编译器 Randy Allen,Ken Kennedy 机械工业出版社
说明:本书是以并行机为基础讨论优化技术的经典著作。该书涉及的理论与技术较新,不过,并不太适合初学者学习。(www.daowen.com)
2、The Compiler Design Handbook Y.N.Srikant, Priti Shankar CRC Press
说明:本书是以优化与代码生成为主的高级手册,详细阐述了基于不同日标机的优化与代码生成技术。
3、高级编译器设计与实现 Steven S.Muchnick 机械工业出版社
说明:这本书被誉为“鲸书”,其中涉及许多编译器设计的高级话题,当然,它最值得关注的就是优化技术。
4、编译器工程 Keith D.Cooper,Linda Torczon 机械工业出版社
说明:这是一本以介绍编译器实践工程为主的教材,堪称继“龙书”之后的另一本经典著作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。