首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于LLVM编译器的指令选择优化方法 

申请/专利权人:山东浪潮科学研究院有限公司

申请日:2024-05-08

公开(公告)日:2024-07-05

公开(公告)号:CN118132090B

主分类号:G06F8/41

分类号:G06F8/41

优先权:

专利状态码:有效-授权

法律状态:2024.07.05#授权;2024.06.21#实质审查的生效;2024.06.04#公开

摘要:本申请涉及计算机技术领域,公开一种基于LLVM编译器的指令选择优化方法,方法包括:对module进行拆分,得到多个basicblock,建立SelectionDAG;根据用户定义的目标指令,基于编译器和缓存文件cache_file的select_version值,matchtable表以及SelectionDAG进行指令选择。本公开通过在SeletionDAG指令选择的基础上做缓存,可以有效降低指令选择的耗时,并且各个target都支持,同时对于新添加的target也容易复用当前的指令选择的逻辑,提高了编译效率。

主权项:1.一种基于LLVM编译器的指令选择优化方法,其特征在于,所述方法包括:对module进行拆分,得到多个basicblock;基于basicblock建立SelectionDAG;根据用户定义的目标指令,使用tablegen产生matchtable表;建立缓存文件cache_file,基于编译器和cache_file的select_version值,matchtable表以及SelectionDAG进行指令选择;其中,所述cache_file中记录有对于当前指令以及其操作数所对应的满足预设条件的后端指令,并且编译器及cache_file中分别都保存有select_version值;所述基于编译器和cache_file的select_version值,matchtable表以及SelectionDAG进行指令选择,包括:对比编译器及cache_file的select_version值;若select_version值相同,则在cache_file中查找module对应的满足预设条件的指令;如果查找到对应的指令,则完成本次指令选择,如果没有查找到,则基于SelectionDAG进行指令选择;若select_version值不同,则基于SelectionDAG进行指令选择;所述基于SelectionDAG进行指令选择,包括:将cache_file清空,并将每次选择的指令及原module写入cache_file中,同时更新cache_file的select_version。

全文数据:

权利要求:

百度查询: 山东浪潮科学研究院有限公司 基于LLVM编译器的指令选择优化方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。