![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编译优化
Vincent(Hao Li)
-基于x86/riscv/龙芯mips的编译优化
-面向敏捷芯片开发的敏捷编译技术(编译器自动设计方法)
-面向跨平台跨编译器的性能分析
展开
-
ThinLTO 学习笔记
跨模块优化(CMO)是提高运行时性能的有效方法,它扩展了跨源模块边界的优化范围。CMO方法有链接时间优化(LTO)和轻量级过程间优化(LIPO)。ThinLTO的目标是与常规的非lto构建一样具有可伸缩性,在没有大内存配置的大型应用程序和机器上支持CMO,同时与分布式和增量构建系统很好地集成。这是通过快速的基于摘要的全程序分析(WPA)来实现的,这是唯一的串行步骤,不需要读取或写入程序的中间表示(IR)。2.ThinLTO Design1. Compile : 生成与LTO模式相同的IR原创 2020-11-19 11:28:56 · 1339 阅读 · 0 评论 -
编译原理之基本块和流图
基本块和流图•采用图的方式表示中间代码,有助于生成更好的代码ä构造方法1.把中间代码划分成基本块(basic block,BB),每个基本块满足如下条件:①控制流只能从基本块的第一个指令进入②除了基本块的最后一条指令,控制流在离开基本块前不会停机或者跳转2.基本块形成了流图(flow graph)的结点,流图的边指明了哪些基本块可能紧随一个基本块之后执行ä中断等程序行为...原创 2019-11-26 22:00:46 · 20072 阅读 · 2 评论 -
gcc各种优化所在位置及循环展开分析
GENERIC 是一种树(tree)的高级表示形式,目的是提供一个语言无关的中间表示。当前 GCC 的主要优化都是基于 GIMPLE 表示形式实现的,包括过程间优化、传统标量优化、循环优化、向量化等。GCC 的 all_passes 遍表中的 expand 过程将 GCC 的 GIMPLE 表示形式转化为另外一种表示形式 RTL。RTL 相当于一种...原创 2019-11-19 14:57:21 · 1688 阅读 · 0 评论