- 博客(6)
- 资源 (7)
- 收藏
- 关注
原创 LLVM每日谈之五十六 从RegionPass看Region
RegionPass是Pass的一个子类,和其他Pass的子类(ModulePass、FunctionPass、LoopPass、BasicBlockPass)一样,都是同样的一个模式:运行在每一个XX之上。(注:这里的XX代表着这几个Pass的针对的对象,每个都不同。FunctionPass运行在每一个Function之上,RegionPass运行在每一个Region之上。其他同样)但是...
2019-06-15 23:49:18 828 1
转载 [技术论坛]6月22日HelloLLVM上海线下聚会
HelloLLVM和HelloGCC社区将在 2019年6月22日(周六)在上海聚会。聚会内容包含(但不限于):MLIR 是什么,要学么? 近期的编译领域的八卦 TVM Stack 前景如何?现在入还来得及么? 如何吸引新人参与GCC开发? 闪电演讲(现场排队)时间暂定为6月22日周六下午3点到6点,地点暂定为张江高科地铁站旁的 vπ 咖啡。本次活动采取报名制,感兴趣的同学和...
2019-06-15 21:59:24 1283
原创 LLVM每日谈之五十五 浅谈对Pass的错误认知及其原因
Pass作为LLVM的一个重要的组成部分,在LLVM IR层面和LLVM Backend层面都发挥了重要的作用。很多LLVM的使用者容易将Pass理解为LLVM IR层面的analysis和transform,而忽略了Pass在LLVM Backend层面的作用。而实际上,Pass在LLVM Backend层面发挥的作用一点都不小。以后端的结构为例:Notes: 《Getting Star...
2019-06-15 21:58:35 2130
原创 LLVM每日谈之五十四 新建后端的第二步校正(register set)
新建后端的七大步骤,在前文《LLVM后端文档解析》中进行过介绍。我们在《创建一个LLVM新后端的第一步中文档与代码的差异》和《Target Registration的更正》中,已经列出了现有文档中第一步“Create a subclass of the TargetMachine class that describes characteristics of your target machine...
2019-06-15 21:57:33 1550 1
原创 LLVM每日谈之五十三 Target Registration的更正
前文:创建一个LLVM新后端的第一步中文档与代码的差异主要是为新后端实现了一个Target Machine,这是新建后端七个步骤的第一步。在这个步骤之后,还有一个隐含的内容,那就是将这个Target注册,好让其它的LLVM工具可以在运行时使用你新建的target。LLVM的官方文档中,以Sparc为例,做了举例:和实际上,代码变动已经很大了。目前的Target的注册的代...
2019-06-15 21:56:16 1465
原创 LLVM每日谈之五十二 创建LLVM后端的第一步校正(target machine)
根据LLVM文档《Writing an LLVM Backend》可知道,LLVM新建一个后端需要七大步骤。前文对七大步骤和文档中其他的结构的关系也做了简单的分析。后续会逐步分析新建后端的七大步骤,并以RISC-V为目标平台,结合RISC-V的LLVM后端代码进行分析。另外,由于《Writing an LLVM Backend》中有一部分内容已经和代码完全脱钩,所以我通常会列出文档的要求,然后...
2019-06-15 21:55:08 1352
Android编程指引
2012-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人