【技术实现步骤摘要】
一种编译器后端代码自动构建方法及系统
[0001]本专利技术涉及编译器
,具体来说,涉及编译器后端代码构建技术,更具体地说,涉及编译器后端代码的标准化构建和自动生成技术,再具体涉及到一种编译器后端代码自动构建方法及系统。
技术介绍
[0002]编译器技术是联系新型处理器以及领域应用的纽带,通常与新型处理器设计同期布局。编译技术的优劣在极大程度上决定了处理器的个性化设计、体系结构优势是否能够充分发挥出来。然而,编译器研发周期相对来说比较漫长,研发过程具有较高难度,这就是编译器研发效率上所谓的“慢、难”问题。
[0003]编译研发效率的问题实际上是由编译器自身角色引发的,编译器本身的功能特性要求编译器的研发人员需要储备大量的跨领域知识,编译器研发过程不仅要求研发人员对编译器基础架构、成熟的算法有深入了解,还需要对目标体系结构有一定了解,这就给研发人员带来很大难度:其一,在芯片研发处理器最急需的面向硬件平台的移植需要漫长的摸索期,人工成本和时间成本都很高;其二,编译器复杂难学习,编译器最核心的功能——性能分析与优化则 ...
【技术保护点】
【技术特征摘要】
1.一种编译器后端代码自动构建方法,用于在指定框架系统下自动生成目标平台的编译器后端代码,所述方法包括:S1、获取与目标平台同一框架下的已有样本平台的后端描述文件,构建样本平台的后端描述文件中每条指令基于定义
‑
引用关系的标识符引用关系图,在标识符引用关系图中,每个标识符对应一个节点;S2、基于步骤S1中的标识符引用关系图,对标识符分类,其中,标识符被分为语言特定类型、平台特性信息类型、开发者定义类型;S3、将每条指令中不同类型的标识符转换为对应的敏捷标识符,并基于标识符引用关系图生成每条指令对应的以敏捷标识符表示的代码布局模板,所述代码布局模板中包含有平台特性信息的标识符定位;S4、获取目标平台编码指令,将目标平台编码指令与样本平台的指令进行匹配以获得与样本平台指令对应的代码布局模板,基于代码布局模板填入敏捷标识符对应的样本平台中的语言特定类型和开发者定义类型的属性值以生成目标平台的指令模块,将用户输入的目标平台编码指令中的平台特性信息属性值按照其对应定位填入指令模板中以生成当前目标平台编码指令对应的编译器后端代码。2.根据权利要求1所述的方法,其特征在于:所述语言特定类型的标识符是指编程语言中普遍存在的标识符,在标识符引用关系图中语言特定类型的标识符对应的节点没有输入也没有输出;所述平台特性信息类型的标识符是指有取决于指令集架构的标识符,在标识符引用关系图中平台特性信息类型的标识符对应的节点只有输出没有输入;所述开发者定义类型的标识符是指由开发者自己定义名称的标识符,在标识符引用关系图中开发者定义类型的标识符对应的节点既有输入也有输出。3.根据权利要求1所述的方法,其特征在于,所述平台特性信息类型的标识符定位指示的是平台特性信息类型的属性值在代码布局模板中的位置。4.根据权利要求3所述的方法,其特征在于,所述步骤S4包括针对每条目标平台编码指令执行如下步骤:S41、获取用户输入的当前目标平台编码指令中的平台特性信息属性值,其中不同的平台特性信息属性值对应于不同的敏捷标识符属性索引,所述敏捷标识符索引是预先设置的为每类敏捷标识符属性赋予的唯一索引;S42、基于步骤S41获得的平台特性信息属性值计算当前目标平台编码指令的特征向量;S43、基于步骤S42计算出的特征向量与样本平台每条指令的特征向量计算目标平台编码指令与样本平台的每条指令的欧式距离,获得与目标平台编码指令欧氏距离小于或等于预设阈值匹配成功的样本平台指令;S44、基于获得的样本平台指令对应的代码布局模块,基于代码布局模板填入敏捷标识符对应的样本平台中的语言特定类型和开发者定义类型的属性值以生成目标平台的指令模块,所述指令模板中的平台特性信息类型的标识符的属性为空并按照平台特性信息类型的标识符定位由带有属性索引信息的敏捷标识符表示;S45、将当前目标平台编码指令的平台特性信息属性值按照其对应的敏捷标识符属性
索引填入指令模板中以生成当前目标平台编码指令对应的编译器后端代码。5.根据权利要求4所述的方法,其特征在于,所述预设阈值为0.2。6.根据权利要求5所述的方法,其特征在于,采用...
【专利技术属性】
技术研发人员:钟茗,耿洪娜,吕方,冯晓兵,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。