Open64课程-内联

  • 分析阶段
      基于汇总信息
      建立调用图
      在调用图中后序访问PU(?为何后序访问)
      在每个函数中分析调用关系以便减少调用开销
      左右内联决策的因素:语言局限或信息不足;启发式利用调用的频率以及调用和被调用者的大小
      编译选项使得用户可以影响内联的决策
  • 内联阶段
      在后序遍历调用图的过程中进行
      在每个将被内联的调用中:使用被调用部分代码的拷贝来代替调用指令;将被调用者的本地符号表和调用者符号表合并;将参数传递代码改为赋值代码;插入赋值语句以获得返回值;遍历拷贝来的被调用者更新代码
      递归内联在函数中所有调用被处理之后进行,当前递归深度被限制为1
  • 此文是Fred Chow在德拉华大学所讲open64课程讲义的翻译,转载请注明出处 http://lingcc.com
    若需要此讲义的原版,请email我
    整个Open64课程系列的文章包括以下,请阅读中指正

    Open64课程-简介,概述和中间表示

    Open64课程- 编译过程

    Open64课程-内联

    Open64 课程–全局标量优化(WOPT I) part 1

    Open64 课程–全局标量优化(WOPT I) part II

    Open64 课程–全局标量优化(WOPT II)

    open64课程–过程间分析优化(IPA)

    Open64课程—代码生成(CG)

    Open64课程-循环嵌套优化(LNO)

    Open64课程–反馈指导优化(FDO)

    Open64课程–OpenMp和自动并行化

    Open64课程-结语

    相关文章:

    This entry was posted in open64, 编译技术, 编译理论实践和应用 and tagged , , , , , , , , . Bookmark the permalink.

    8 Responses to Open64课程-内联

    1. Pingback: Open64课程—代码生成(CG) « 编译点滴

    2. Pingback: Open64 课程–全局标量优化(WOPT I) part II « 编译点滴

    3. Pingback: Open64课程-结语 « 编译点滴

    4. Pingback: 编译点滴

    5. Pingback: 编译点滴

    6. Pingback: 编译点滴 » Open64课程-简介,概述和中间表示

    7. Pingback: 编译点滴 » Open64课程–反馈指导优化(FDO)

    8. Pingback: 《编译点滴》半年记 « 编译点滴

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注

    *

    您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>