共查询到20条相似文献,搜索用时 0 毫秒
1.
编译器后端移植是目前嵌入式系统研究的重要领域,如何快速实现编译器后端移植仍然是嵌入式系统研究的热点。采用新的编译器架构LLVM,移植NiosⅡ处理器来分析LLVM快速后端移植架构。使用LLVM后端移植架构的TableGen描述NiosⅡ体系结构例如指令、寄存器等,使用完备LLVM C++函数库实现复杂或特殊的操作。TableGen与C++函数库互相配合,最终实现LLVM架构对NiosⅡ后端的支持。实验结果表明与GCC编译器后端移植方法相比,基于LLVM架构的编译器后端移植方法的工作量减少了64.2%~83.9%,大大节省后端移植时间。 相似文献
3.
4.
5.
编译器是高级语言执行前必须使用的一个环节,它的作用是将自然语言转换成机器语言,而词法分析又是编译器整个工作的第一步——词素解析,笔者从词法分析的任务、基本词素、词法分析工具和DFA几个方面对词法分析进行浅析。 相似文献
6.
作为SIMD扩展部件向量化的重要手段,自动向量化已在LLVM编译器中得到实现,但向量长度以及指令集功能的差异,导致国产平台在自动向量化过程中容易错失向量化机会以及向量化后产生倒加速的问题。为使SIMD得到充分应用,结合国产平台的指令集特征完善指令代价信息以提高收益分析精准度,使其在自动向量化后生成后端支持且简洁高效的向量指令。在此基础上,提出一种改进的控制流向量化方法,通过添加指令代价信息提高自动向量化的适配能力,从而形成一套面向国产平台的LLVM自动向量化系统。实验结果表明,相比自动向量化移植前,通过该方法进行移植优化后,SPEC测试的整体性能提升10.8%,TSVC测试集中的加速比提升16%,精准代价指导下的加速比提升42%,控制流向量化下的加速比提升51%。 相似文献
7.
C语言优化编译器是借助于微机上的Intel80386C语言编译器为研制平台,采用交叉编译的方法设计实现的,它是我国自行设计的第一个从底层开发实现的巨型机C语言编译器。本文首先给出了YH-2C语言优化编译器的设计原理,然后详细介绍了其主要系统组成和技术特点,最后指出了我们以后进一步要做的工作 相似文献
8.
该文在对几种可重定向编译器进行分析的基础上,提出了一种基于类库的可重定向编译器后端设计技术。该技术通过恰当定义机器描述与代码生成之间的接口,抽象不同硬件平台共有的操作与功能,隔离中间表示和不同硬件平台汇编语言代码的差异。根据不同硬件平台特点,利用面向对象技术实现接口,构成重定向支持类库。代码生成器通过对接口的调用,将中间表示转化为相应平台的汇编语言,完成编译器后端的重定向工作。 相似文献
9.
编译程序被认为是现代计算机系统的基本构成,本文重点分析了C语言编译器设计与实现的相关问题,文章先阐述了C语言编译器总体设计的相关内容,包括词法、语义分析等;再介绍了C语言编译器的实现路径,希望能对相关人员工作有所帮助. 相似文献
10.
11.
12.
带有系统底层特性的高级语言(C、C++等)通常采用的是弱类型系统,允许不同类型变量之间的混合运算。因此,在涉及到赋值等操作时,如果源变量和目的变量类型不一致,则需要进行类型转换,而转换过程稍有疏忽就会引入安全性问题。现有的检测技术大多在程序运行时进行类型转换问题的检测,产生较大额外开销的同时,也会影响程序的执行速度。基于LLVM编译器提出一种针对C/C++隐式类型转换的安全性检测方法。该方法作用于LLVM中间代码,筛选出含有变量声明和引用的语句;对于声明变量的语句,提取其类型信息并按相应的数据结构存储;对于引用变量的语句,匹配定义的类型转换的不安全操作集和转换模式,以检测其中的类型转换操作是否安全。实验结果表明,该方法能够在编译阶段有效地检测出存在安全隐患的类型转换操作。 相似文献
13.
国防科技大学自主研制的高性能加速器采用中央处理器(CPU)+通用数字信号处理器(GPDSP)的片上异构融合架构,使用超长指令集(VLIW)+单指令多数据流(SIMD)的向量化结构的GPDSP是峰值性能主要支撑的加速核。主流编译器在密集的数据计算指令排布、为指令静态分配硬件执行单元、GPDSP特有的向量指令等方面不能很好地支持高性能加速器。基于低级虚拟器(LLVM)编译框架,在前寄存器分配调度阶段,结合峰值寄存器压力感知方法(PERP)、蚁群优化(ACO)算法与GPDSP结构特点,优化代价模型,设计支持寄存器压力感知的指令调度模块;在后寄存器分配阶段提出支持静态功能单元分配的指令调度策略,通过冲突检测机制保证功能单元分配的正确性,为指令并行执行提供软件基础;在后端封装一系列丰富且规整的向量指令接口,实现对GPDSP向量指令的支持。实验结果表明,所提出的LLVM编译架构优化方法从功能和性能上实现了对GPDSP的良好支撑,GCC testsuite测试整体性能平均加速比为4.539,SPEC CPU 2017浮点测试整体性能平均加速比为4.49,SPEC CPU 2017整型测试整体性能平均... 相似文献
14.
LS2K1000是一种基于MIPS架构的双核处理器,该芯片具有尺寸小、功耗低、扩展性好等特点。数据处理模块基于LS2K1000处理器,通过主处理器LS2K1000的局部并行总线(简称Local Bus)访问FLASH与NvRAM。模块通过配置CPLD与DDR3等硬件资源保证处理器能够正常启动,并在天脉1嵌入式操作系统下进行测试,经测试模块CPU、DDR、Flash、看门狗等功能均正常工作。同时在模块中设计以太网、串口、USB与CAN等接口的周边配置电路,确保模块能够与外设有效交联。该模块具有处理能力强、外设接口丰富与功耗低等特点,具有较高应用价值。目前已应用到多种嵌入式电子设备中。 相似文献
15.
文章通过9个程序详细介绍PIC单片机在PICC编译器环境下,C语言与汇编语言混合编程的方法并对出现的情况进行分析解决,最后对C语言与汇编语言混合编程的优劣提出自已的看法。 相似文献
16.
17.
18.
19.
20.
软件测试自动化是为了提高测试效率,缩短软件开发周期,降低测试成本。Ctcgen对比验证测试模式使测试更加全面且容易实现测试过程自动化,用随机的思想和算法,代替“穷举”方法解决证明正确性的问题。 相似文献