05_中间代码生成
静态单赋值(Static Single Assignment, SSA)是编译器中间表示中非常重要的一个概念,它是一种变量的命名约定。当程序中的每个变量都有且只有一个赋值语句时,称一个程序是 SSA 形式的。LLVM IR采用静态单赋值。
控制流语句翻译
控制流语句有多种翻译方法
break ->无条件跳转,可以维护一个栈告诉break语句要去哪里
地址回填技术
- 回填 (Backpatching) 技术: 子节点挖坑、祖先节点填坑
- 子节点暂时不指定跳转指令的目标地址
- 待祖先节点能够确定目标地址时回头填充
- 父节点通过综合属性收集子节点中具有相同目标的跳转指令
- 标题: 05_中间代码生成
- 作者: Charlie
- 创建于 : 2023-06-01 00:06:00
- 更新于 : 2024-07-05 12:55:04
- 链接: https://chillcharlie357.github.io/posts/623d0f24/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论