首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 140 毫秒
1.
该文在对几种可重定向编译器进行分析的基础上,提出了一种基于类库的可重定向编译器后端设计技术。该技术通过恰当定义机器描述与代码生成之间的接口,抽象不同硬件平台共有的操作与功能,隔离中间表示和不同硬件平台汇编语言代码的差异。根据不同硬件平台特点,利用面向对象技术实现接口,构成重定向支持类库。代码生成器通过对接口的调用,将中间表示转化为相应平台的汇编语言,完成编译器后端的重定向工作。  相似文献   

2.
可重定义目标编译器的原理及设计   总被引:1,自引:0,他引:1  
快速高效地开发编译器对体系结构研究有重要意义。可重定义目标编译器将编译器中与体系结构相关的部分进行了较好的隔离。只需要修改与目标机相关的部分,就可以快速生成新的编译器。该文就可重定义目标编译器的概念、原理、设计和实现方法进行了论述。  相似文献   

3.
以简单但具有代表性的配对寄存器为例,分析了编译器中间表示设计中使用配对信息所需包含的要点。结合编译器中数据流分析,指令调度和寄存器分配的需求,进一步提出了一种基于链表结构的中间表示及构造算法。所提出的表示方法同时考虑到编译器的可移植性,以便于在不同编译器中实现。  相似文献   

4.
针对西安邮电大学自主设计的一款面向图形、图像应用的阵列处理器PAAG系统(polymorphic array architecture for graphics and image processing)多核处理器并行编译问题,提出一种基于GCC编译器框架的可实现并行编译的移植技术。结合图像处理器并行处理要求和硬件特点,通过一种底层中间表示———寄存器传输语言 RTL (register transfer lan‐guage)进行模式匹配,完成指令选择,实现编译器移植;使用堆栈管理方式解决 PAAG系统没有寄存器文件的问题和函数调用问题。该技术的实现打破了PAAG系统只能手工编译的局面,有效提高了单个处理器的编译效率,使PAAG系统的性能得到提升;对于并行处理的图形图像处理器,该技术是一种正确可行的实施方案。  相似文献   

5.
编译器中多视图中间表示的支撑技术   总被引:1,自引:0,他引:1  
右间表示是构造优化编译器的核心技术,其设计方式对整个编译器的可适应性影响很大,IR的扩充和改进往往引起整个编译器全局性的修改,而体系结构的修改,某些编译优化模块的改进都会引起IR的扩充或修改,这使得整个编译器的适应性很差,介绍了一种多视图低层中间表示,通过向编译器的不同部分提供不同视图,以及逻辑视图到物理视图的映射,陈藏中间表示的实际细节,提高了编译器各优化分析模块算法的抽象层次,大大增强了编译器代码的可适应性和可重用性。  相似文献   

6.
随着程序的规模的扩大和复杂度的提高,通过直接分析源码进行程序切片,变得十分困难。在现有的利用编译优化技术来优化程序切片的方法中,存在无法有效利用程序的编译时信息和编译器的优化技术,以及对语言的支持不完善的问题。为此,分析了GCC编译器在编译时的中间表示,首次提出了基于GCC关键变量数据流分析算法的程序切片技术,以程序的GIMPLE中间表示为基础,以程序基本块为单位,通过迭代求解数据流方程,分析程序基本块内和不同基本块间的关键变量数据流信息。该程序切片技术可以获取源程序中仅与预设目标函数相关的关键变量和关键语句,缩减程序规模。最后通过实验,证明了该算法的可行性。  相似文献   

7.
GCC是基于Linux下的开放源码的优化编译系统,可以接收多种高级源语言,广泛支持多平台操作系统.其代码优化机制,不仅能兼顾时间、空间效率,生成高质量的目标代码,而且具有很强的可移植性与可扩充性,是编译器优化研究的目标.通过对GCC的整体结构、优化策略、优化方法与关键技术、中间语言等进行详细的剖析,抽取出完整的GCC优化体系结构.文中集中探讨了GCC的优化策略和实现技术,首先从GCC优化体系的总体规划入手,着重分析了GCC的优化组织策略,设计、引入中间代码RTL的技巧和内涵,进一步研究了GCC所涉及的控制流分析技术、数据流分析技术的实现机制.  相似文献   

8.
石博慧  陈英 《微机发展》2004,14(8):67-70
GCC是基于Linux下的开放源码的优化编译系统,可以接收多种高级源语言,广泛支持多平台操作系统。其代码优化机制,不仅能兼顾时间、空间效率,生成高质量的目标代码,而且具有很强的可移植性与可扩充性,是编译器优化研究的目标。通过对GCC的整体结构、优化策略、优化方法与关键技术、中间语言等进行详细的剖析,抽取出完整的GCC优化体系结构。文中集中探讨了GCC的优化策略和实现技术,首先从GCC优化体系的总体规划入手,着重分析了GCC的优化组织策略,设计、引入中间代码RTL的技巧和内涵,进一步研究了GCC所涉及的控制流分析技术、数据流分析技术的实现机制。  相似文献   

9.
为了克服手工编写汇编代码易于出错、难于维护等缺点,在 GCC 编译器的基础上生成了 DSP TMS320C67xx芯片的汇编指令集。首先,研究了GCC中与机器描述相关的RTL模板,重点研究了RTL模板的组成结构及其各个部分的作用;然后,通过编写RTL模板完成了TMS320C67xx汇编指令的生成。在编写RTL模板的过程中,运用多种RTL模板编写技术实现了TMS320C67xx的指令集,同时针对实现难度较大的指令给出了解决方案。最后,对C语言源程序进行了编译,验证了TMS320C67xx所有6种类型的汇编指令都已被生成,所提方法具有一定的通用性和扩展性。  相似文献   

10.
为验证CoSy编译器的安全性,并确定不安全因素大致出现的位置,提出一种通过控制流图的同构对比判定CoSy编译器是否安全的方法。该方法生成源程序的控制流图以及CoSy中级中间表示的控制流图后,生成由CoSy编译器产生的目标汇编码的控制流图,根据控制流图同构算法,判断控制流图是否同构,由此确定CoSy编译器的不安全因素发生在编译器的前端还是后端。实验结果表明,该方法能有效验证编译器的安全性。  相似文献   

11.
12.
This paper presents a simple and safe compiler, called MinSIGNAL, from a subset of the synchronous dataflow language SIGNAL to C, as well as its existing enhancements. The compiler follows a modular architecture, and can be seen as a sequence of source-to-source transformations applied to an intermediate representation which is named Synchronous Clocked Guarded Actions (S-CGA) and translation to sequential imperative code. Objective Caml (OCaml) is used for the implementation of MinSIGNAL. As a modern functional language, OCaml is adapted to symbolic computation and so, particularly suitable for compiler design and implementation of formal analysis tools. In particular, the safety of its type checking allows to skip some verification that would be mandatory with other languages. Additionally, this work is a basis for the formal verification of the compilation of SIGNAL with a theorem prover such as Coq.  相似文献   

13.
分簇结构超长指令字DSP编译器的设计与实现   总被引:5,自引:0,他引:5  
超长指令字(VLIW)是高端DSP普遍采用的体系结构。VLIW DSP在硬件上没有调度和冲突判决的机制,其性能的发挥完全依靠编译嚣的优化效果.基于可重定向编译基础设施IMPACT,为分簇VLIW DSP YHFT—D4设计与实现了优化编译器.其中着重讨论了可重定向信息的定义、代码注释、SIMD指令的支持、分簇寄存器分配以度指令级并行开发和资源冲突解决等内容.实验结果表明该编译器可以达到较好的优化效果.  相似文献   

14.
I describe a new compiler infrastructure for imperative synchronous languages such as Esterel and E↕. Built on the S〉{ 2 system, it includes a new intermediate representation for this class of languages that has simple semantics designed for easy implementation in hardware or software. I describe the structure of this new compiler, the intermediate representation, and how Esterel source is translated into this intermediate representation.  相似文献   

15.
Compiler Hacking for Source Code Analysis   总被引:1,自引:0,他引:1  
Many activities related to software quality assessment and improvement, such as empirical model construction, data flow analysis, testing or reengineering, rely on static source code analysis as the first and fundamental step for gathering the necessary input information. In the past, two different strategies have been adopted to develop tool suites. There are tools encompassing or implementing the source parse step, where the parser is internal to the toolkit, and is developed and maintained with it. A different approach builds tools on the top of external already-available components such as compilers that output the program abstract syntax tree, or that make it available via an API.This paper discusses techniques, issues and challenges linked to compiler patching or wrapping for analysis purposes. In particular, different approaches for accessing the compiler parsing information are compared, and the techniques used to decouple the parsing front end from the analysis modules are discussed.Moreover, the paper presents an approach and a tool, XOgastan, developed exploiting the gcc/g++ ability to save a representation of the intermediate abstract syntax tree. XOgastan translates the gcc/g++ dumped abstract syntax tree format into a Graph eXchange Language representation, which makes it possible to take advantage of currently available XML tools for any subsequent analysis step. The tool is illustrated and its design discussed, showing its architecture and the main implementation choices made.  相似文献   

16.
17.
基于GCC的VLIW编译系统研究   总被引:1,自引:1,他引:0  
VLIW机器在单个机器周期中同时发射并执行多个的并行操作,从而获得较高的指令级并行度,这些操作之间的依赖分析和调度工作则被完全交给相应的编译器执行,因此VLIW的并行性能能否充分发挥取决于VLIW体系结构相关编译器的质量。GNU开发的GCC是被最广泛使用的编译系统之一,它具有多语言、多平台支持的能力和开放的结构,能够运用各种成熟的常规编译优化技术生成高效的代码。文章分析了VLIW及GCC的结构特点,提出了一种基于GCC的VLIW编译系统设计方案,利用GCC进行RTL中间代码一级的体系结构无关优化和少量体系结构相关优化,在汇编代码一级针对VLIW结构进行体系结构相关的优化,从而充分利用GCC的成熟编译技术快速开发高效的VLIW多语言编译系统。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号