GCC
Vincent(Hao Li)
-基于x86/riscv/龙芯mips的编译优化
-面向敏捷芯片开发的敏捷编译技术(编译器自动设计方法)
-面向跨平台跨编译器的性能分析
展开
-
GCC后端移植适配
目录Introduction to Machine Descriptions1.Influences on Machine Descriptions2.Organization of GCC MD3. Machine Descriptions的基本结构(1)指定目标指令语义(2)General Move Instruction(3)Relationship Between .md, .c, and.h Files(4)GCC中的翻译顺序(5)Retargetabi.原创 2020-11-19 11:20:48 · 1158 阅读 · 1 评论 -
如何使用GCC将多个.c文件编译成一个.s文件
如果我们有多个源文件,想要把他们编译成一个.s文件,有正向反向两种方法,1.反向很简单,就正常编译成可执行,然后使用objdump反汇编即可:objdump -d mcf_s &> mcf_s.s2.正向直接编译使用如下的命令是不行的:需要先写一个单独的.c文件,然后将项目需要的所有的.c文件包含进去,如下图:然后使用如下的命令编译这个新...原创 2019-11-25 16:14:08 · 2605 阅读 · 0 评论 -
GCC抽象语法树(AST)可视化------适用于2019最新版本gcc-8.2.0
gcc多版本更替, 使得很多ast 可视化工具都不能用了,向gcc插件VCG也不能在 高版本上使用现在我们找到了一个还适用于 最新版本的方法首先我们创建一个文件命名test.c的Hello World程序。test.c #include<stdio.h> int main(int arg_count,char ** arg_values) {...原创 2019-11-20 13:04:42 · 6233 阅读 · 22 评论 -
gcc各种优化所在位置及循环展开分析
GENERIC 是一种树(tree)的高级表示形式,目的是提供一个语言无关的中间表示。当前 GCC 的主要优化都是基于 GIMPLE 表示形式实现的,包括过程间优化、传统标量优化、循环优化、向量化等。GCC 的 all_passes 遍表中的 expand 过程将 GCC 的 GIMPLE 表示形式转化为另外一种表示形式 RTL。RTL 相当于一种...原创 2019-11-19 14:57:21 · 1661 阅读 · 0 评论