薛丽萍
- 作品数:5 被引量:5H指数:1
- 供职机构:中国科学院计算技术研究所更多>>
- 发文基金:国家自然科学基金国家高技术研究发展计划更多>>
- 相关领域:自动化与计算机技术更多>>
- 存储池:一种适合于编译器的存储管理方法被引量:1
- 2005年
- 介绍开放源码编译器ORC中使用的存储管理方法:存储池。存储池不是一种通用的存储管理方法,但是它特别适合于编译器。在编译器这个应用场合下,存储池比通用的malloc/free存储管理机制具有十分明显的优点。具体表现为分配速度快、管理开销小、释放时间开销小以及没有内存泄漏的问题。
- 杨书鑫薛丽萍张兆庆
- 关键词:存储池编译器
- 迭代式全局指令调度
- 2004年
- 基于非线性控制流图的全局指令调度由于非线性控制流的控制流图的复杂性不易计算出一条指令在其所在控制流图中的优先级,因此也不易判断来自不同基本块的指令的优先顺序,从而导致在决定一条指令何时被调度出该指令所在的基本块以及调度到哪儿时倾向于保守和随意。例如D.Bernstetin的全局指令调度的启发性方法优先来自这些基本块的指令:调度器当前正在调度的基本块以及与当前基本块控制等价的基本块。然而,这种启发性方法往往导致处在关键路径上的指令被滞后。本文提出的迭代式全局指令调度算法基于D.Bernstein的全局调度算法。它采用与D.Bernstein相同的启发性方法,但有选择地多次调度一个基本块使得处在关键路径上的指令被尽早调度。实验结果表明该算法以增加10%的调度时间开销提高调度器8%的性能。
- 杨书鑫薛丽萍张兆庆
- 关键词:迭代式
- ORC的代码生成的关键技术
- 2004年
- 处理机的指令级并行能力只有通过编译器才得以发挥。代码生成是编译器后端中直接针对目标处理机的优化阶段的集合,因而它是提高目标处理机指令级并行的重要组成部分。ORC(Open Research Compiler)是一款针对IA-64体系结构的开放源码编译器,它具有丰富的优化阶段和良好的性能。本文介绍了 ORC 的代码生成的关键技术,这些技术包括区域构造、谓词相关优化、全局指令调度、参数化的机器描述以及微调度。实测结果表明,这些技术取得了显著的优化结果,ORC 相对于 Pro64能取得平均23%的加速比。
- 薛丽萍张兆庆
- 关键词:ORC代码生成IA-64体系结构编译器
- 基于龙芯Ⅰ的全局寄存器分配研究
- 寄存器分配是编译后端优化中的重要技术,寄存器分配需要决定在程序执行时,哪些值(包括变量,临时量和大的常量)放在寄存器中会更有利.由于物理寄存器相对于内存单元具有数量少和访问速度快的特点,根据程序的局部性原则,将经常使用的...
- 薛丽萍
- 关键词:寄存器分配
- 文献传递
- 代码生成阶段的循环不变量外提
- 2004年
- 循环不变量外提是一种传统的优化算法。在现代编译器中,循环不变量通常在编译器的中端中被删除或外提。中端的中间表示是目标处理机无关的,而编译器的后端的中间表示是目标处理机相关的。尽管中端的优化十分有效,但是从中端的中间表示向后端的中间表示转化的过程中会引入许多循环不变量。因此,有必要在后端再进行循环不变量外提。由于在指令调度的过程能够比较容易地决定一个循环不变量是否需要外提,我们将这一个阶段集成到指令调度中。为了降低指令调度的复杂性,我们把循环不变量的识别和外提区分开来。"识别"独立进行,而决定是否"外提"并实施"外提"则集成到指令调度阶段中。我们在开放源码编译器ORC的代码生成模块中具体实现了本文所介绍的算法。实验结果显示,在代码生成阶段的循环不变量外提能够提高目标代码1%的性能。我们的代价模型避免了78%的循环不变量不必要地外提到循环之外。
- 杨书鑫薛丽萍张兆庆
- 关键词:指令调度代码生成编译器目标代码处理机不变量