跨文件编译模式的研究和实现

跨文件编译模式的研究和实现

论文摘要

编译优化是编译器设计的一个重要方面,尤其是在高性能编译器设计中,先进的编译优化技术可以大幅提高编译器的性能。而影响编译优化效果的一个重要因素就是编译器的视野,视野的大小决定了在其上进行的优化技术的效果。当前应用规模的增大和面向对象的软件开发模式的流行使得应用大多分布在多个文件中,迫切需要打破传统的以过程和文件为单位的编译模式,支持跨文件的全程序编译。同时计算机硬件技术的飞速发展,内存价格的下降和带有大容量缓存的微处理器的出现等也为这种技术的实现提供了硬件的支持。 GCC是开源世界最重要的编译器,它的前端支持多语种,后端支持多目标机。良好的跨平台性,清晰的架构使其无论在大型科学计算系统还是嵌入式系统都有着广泛的应用。但是GCC目前并不支持跨文件的编译模式。 本文在分析已有跨文件编译模式的基础上,总结了进行跨文件编译时需要解决的问题,以及解决这些问题的一些方法。在此基础上,分析了GCC的前端树表示、基于调用图的优化模式、GCC的命令行参数处理机制,并提出了一个跨文件编译模式模型。基于GCC3.4,我们实现了语法树的写出,读入,全程序树表示的重构,全程序调用图的重构等功能。并最终在GCC3.4编译器上实现了这个模型。 跨文件编译模式扩大了编译器的视野,给进一步提高其他编译优化技术的精度和效果提供了一个平台。我们的测试结果表明,许多优化,如过程内联、常数传播等都可以从跨文件编译模式中获得相当大的好处。

论文目录

  • 独创性声明
  • 学位论文版权使用授权书
  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 课题的背景和意义
  • 1.2 课题主要研究内容
  • 1.3 论文的主要结构
  • 第二章 跨文件编译模式
  • 2.1 跨文件编译模式的综述
  • 2.1.1 跨文件编译模式的流程
  • 2.1.2 跨文件编译模式要解决的关键问题
  • 2.2 典型的跨文件编译模式
  • 2.2.1 OM系统
  • 2.2.2 Vortex系统
  • 2.2.3 SYZYGY系统
  • 2.2.4 LLVM系统
  • 2.3 四种系统的比较
  • 2.3.1 编译中间结果的保存时机
  • 2.3.2 编译中间结果的保存形式
  • 第三章 GCC 3.4分析
  • 3.1 GCC3.4编译框架
  • 3.2 GCC 3.4前端抽象语法树表示
  • 3.2.1 语法树表示的介绍
  • 3.2.2 过程的抽象语法树表示
  • 3.3 基于调用图的单文件内过程间优化模式
  • 3.3.1 调用图介绍
  • 3.3.2 基于调用图完成单文件内过程间优化的流程
  • 3.4 基于调用图的函数内联
  • 3.4.1 GCC完成函数内联的一般流程
  • 3.4.2 GCC完成函数内联所用的数据结构
  • 3.4.3 GCC完成函数内联的核心算法
  • 3.5 GCC当前优化模式的不足
  • 3.6 GCC命令行参数处理机制介绍
  • 第四章 跨文件编译模式的提出和实现
  • 4.1 模型的介绍
  • 4.1.1 模型产生的背景
  • 4.1.2 模型的架构和流程
  • 4.2 模型解决的问题和用到的数据结构和算法
  • 4.2.1 跨文件编译模式流程的具体实现
  • 4.2.2 保存抽象语法树的二进制文件的设计
  • 4.2.3 抽象语法树写出的具体实现
  • 4.2.4 抽象语法树读入和重构的数据结构和算法
  • 4.2.5 调用图重构的数据结构和算法
  • 4.3 模型的分析
  • 4.3.1 模型时间复杂度分析
  • 4.3.2 模型空间复杂度分析
  • 第五章 试验结果和分析
  • 5.1 测试环境介绍
  • 5.2 对183.equake的测试
  • 5.3 更进一步的测试
  • 5.3.1 针对256.bzip2的测试
  • 5.3.2 针对181.mcf的测试
  • 5.3.3 测试总结
  • 结束语
  • 致谢
  • 参考文献
  • 作者在学期间取得的学术成果
  • 附录A GCC 3.4树结点列表
  • 附录B 本课题中使用的SPEC 2000测试包的使用方法
  • 相关论文文献

    • [1].机器翻译译后编译研究综述[J]. 智库时代 2020(05)
    • [2].《经济资料译丛》征稿启事[J]. 经济资料译丛 2018(01)
    • [3].新闻编译与意识形态[J]. 采写编 2016(02)
    • [4].基于云计算技术的在线编译平台的设计分析[J]. 网络安全技术与应用 2017(08)
    • [5].编译课程体系建设刍议[J]. 计算机工程与科学 2016(S1)
    • [6].矛盾编译观初探[J]. 传播与版权 2015(06)
    • [7].英汉新闻编译历程回顾与展望——以网络汽车类新闻为例[J]. 读天下 2016(16)
    • [8].《演艺科技》十周年优秀编译奖名单[J]. 演艺科技 2014(01)
    • [9].编译观的转变:从转视角到转范式——兼评编译两界的现有编译观[J]. 科技创新与应用 2013(05)
    • [10].英汉新闻编译概述——评刘其中《英汉新闻翻译》的编译章节[J]. 语文学刊(外语教育教学) 2012(02)
    • [11].浅谈如何做好新闻编译工作[J]. 新闻世界 2010(06)
    • [12].中国卒中杂志招聘兼职翻译[J]. 中国卒中杂志 2009(01)
    • [13].嵌入式系统可视化编译平台设计[J]. 电子技术与软件工程 2020(14)
    • [14].马列学院编译部:中共编译史上的重要机构[J]. 编辑之友 2016(02)
    • [15].新闻编译:一个亟待澄清的领域[J]. 国际新闻界 2015(04)
    • [16].英汉新闻编译对译者的多重要求[J]. 文史博览(理论) 2014(07)
    • [17].新闻编译特点研究——从新闻编译的跨学科属性讨论[J]. 新闻知识 2013(01)
    • [18].在OpenSolaris上编译安装Pidgin[J]. 程序员 2008(11)
    • [19].晚清学部的教科书编译与审定[J]. 上海翻译 2016(04)
    • [20].国际新闻编译的文化策略分析[J]. 新闻研究导刊 2016(20)
    • [21].西学东渐:书刊编译技巧与策略演进——以广学会为中心的考察[J]. 出版发行研究 2014(07)
    • [22].社会新闻编译的新新闻主义视角思考[J]. 海外英语 2013(16)
    • [23].源程序的非编译成份的度量[J]. 计算机工程与科学 2009(04)
    • [24].林语堂编译活动及其思想研究[J]. 出版广角 2018(17)
    • [25].跨学科视角下的英汉新闻编译:问题与对策[J]. 景德镇学院学报 2015(05)
    • [26].浅议目的论指导下的英语新闻编译[J]. 科技视界 2014(25)
    • [27].重点高校人文社科学报英文编译质量的调查和思考[J]. 河北联合大学学报(社会科学版) 2012(01)
    • [28].成舍我报刊经营理念的启蒙:从“新知编译社”到“新知书社”[J]. 新闻春秋 2013(02)
    • [29].转变旧编译观念 推动跨文化建设——对优化双语编辑工作的思考[J]. 当代社科视野 2012(Z1)
    • [30].PROTEUS编译51汇编实例[J]. 电子制作 2011(02)

    标签:;  ;  

    跨文件编译模式的研究和实现
    下载Doc文档

    猜你喜欢