zhangkangcool's blog
Lto
正在初始化搜索引擎
zhangkangcool
Home
About
Compiler
Other
Program
Useful
Index
zhangkangcool's blog
zhangkangcool
Home
About
Compiler
Compiler
GCC
GCC
Bin install
Build
gcc M
Lto
Opt level
Gdb
Gdb
Gdb 调试利器
Log
Print
Go project
去掉符号表
Llvm
Llvm
Llvm ir
Arm neo掩码存取实现
build SDNode
IR
IR
IR
nsw nuw UB
InstSel
InstSel
BuildMI
ISD inst to PPC inst
ISD
Instruction Format
Instruction Selection
Instructoin Selection td files
Memory format
Inst define
llc SelectionDag
Pattern pat
setOperationAction
Intrinsic
Intrinsic
Intrinsic
Eh return
Setrnd
Trap
LL
LL
Parser bb
载入LL文件
LLVM分析
LLVM分析
代码结构
2. clang功能 & 模式
2. clang功能 & 模式
Clang两种模式
Clang功能
3. 核心数据结构
3. 核心数据结构
1. CompilerInstance
2. CompilerInvocation
3. FrontAction
4. Diagnostics
5. SourceManager
4. clang AST
4. clang AST
1. AST的基本结构
2. AST生成
3. AST的遍历 序列化 Consumer
5. 前端流程
5. 前端流程
预处理
词法分析
语法分析
语义分析
6. 中间代码生成
6. 中间代码生成
函数调用关系
llvm IR
7. 后端流程
7. 后端流程
Pass类
后端基本流程
指令选择
指令选择
指令选择调用图
InstSel
InstSel
BuildMI
ISD inst to PPC inst
ISD
Instruction Format
Instructoin Selection td files
Inst define
llc SelectionDag
Pattern pat
setOperationAction
指令选项方式
LTO
LTO
Lto优化
Option
New Backend
New Backend
How to do
Other arch
Other
Other
Extend
How to submit patch to Phabricator
LLVM CodeBook
LLVM study
Useful web
Value & Node
Alias
Cast
Glue & chain side effect
Liveness
Llvm dir
Traverse
查看个人在github上提交的代码
PGO
PGO
Get pgo info
Llvm pdf pgo
Remove
Use define
Build
Build
AddClang.cmake
AddLLVM.cmake
Use scripts(often)
Llvm build
Log
X86 machine
交叉编译
库依赖
Clang
Clang
Xclang
Mllvm
保留中间文件
输出pass
Class
Class
MO & MI
PPCInstrInfo
Debug
Debug
DEBUG TYPE
Bugpoint
Llvm debug
Print
Print
print ISD
Print type
Type
Clang driver
指令
Website
Mesa simplify
Mesa simplify
Mesa LLVM Analysis
Simplify LLVM Library
Spirv
Options
Options
Option use in code
Debug pass
Llc option
Llvm option
源码中如何对选项进行解析
Pass
Pass
LLVM Pass分类
Machine verify
PassConfig
Init pass and addpass
Llc option level pass
Pass在哪儿
Pass注册
指令选择pass
禁用pass
Deubg
Deubg
Clang输出所经过的pass
Debug pass
输出各种pass
Opt
Opt
Opt pass
Pass name
Summary
如何写一个pass
如何写一个pass
Write pass
如何写一个pass
Llc.cpp
Register
Register
LLVM register
Register
CallingConv def & use
Register & RA
Register & RA
PPC llvm register
Register def
Tool
Linear scan
ShrinkWarp.cpp
Td
Td
Calling Convention
TableGen
Create td files
Llvm td files
Llvm mc
Multiclass
Td pattern
Td文件信息
Td语法
定义operand
Inc文件
Inc文件
生成inc文件
用脚本生成
指令定义
指令定义
大于64位的支持
指令example
指令定义
等价的指令格式定义
Test
Test
ERROR
Lnt
Llvm check test
Llvm test keyword
Test suite
Write case
Write case
Ll case
Mir
Tools
Tools
Alive
Llvm config
Opt
Update llc test checks.py
交叉编译
Code Size优化
Target
增加新架构
增加新架构
CSKY
LLVMBuild
RISCV
读入LL文件
查找起作用的Pass
命令行
裁剪工作
裁剪工作
Clang笔记
LLVM笔记
1. 项目介绍
裁剪工作记录
通用知识
通用知识
General compiler
General compiler
SSA
Useful web
Cmd
Loop
Asm & linker
Asm & linker
Asm linker
Example
Linker
Llvm asm
链接库
链接库
动态库
动态库
Linker library
fPIC
动态库例子
动态链接库
符号表
Cmake
OpenCL
OpenCL
clBuildProgram & clCompileProgram
clBuildProgram
clCreateKerel与clBuildProgram的区别
clCreateKernel
clCreateProgramWithBinary和 clCreateProgramWithIL区别
clfLoadAndLinkVIRShader
Cl编译成spirv
一种实现缓存机制的方法(不修改OpenCl源码)
三个clCreateProgramWith函数
两个clCreateKernel函数
何时被编译成二进制
测试用例
ICD编译
ICD编译
ICD但使用非ICD库文件
ICD工作原理
ICD文件的选择
ICD编译和非ICD编译
ICD编译和非ICD编译性能区别
ICD编译如何写icd文件
OpenCV
OpenCV
Bilateral
使用OpenCL GPU
修改替换CL文件
如何使用OpenCL代码
SPIRV
SPIRV
accessChain
分析
可视化工具
SPIRV LLVM Translator
SPIRV LLVM Translator
与Target spirv的区别
编译和使用
SPIRV Tools
SPIRV Tools
和SPIRV LLVM Translator的区别
编译和使用
Pocl
Pocl
CTS
CTS测试说明
Example
版本
编译
clCreateBuffer分析
clCreateBuffer分析
clCrateBuffer实现总结
clCreateBuffer API 实现详细分析(CPU为例)
clCreateBuffer 新设备驱动实现
新设备驱动实现 clCreateBuffer
调试选项
Pocl上x86实现分析
Pocl上x86实现分析
API支持情况
SPIRV支持分析
clBuildProgram实现分析
Example
So文件的生成和加载
驱动分析
在pocl中新增架构
在pocl中新增架构
如何在 PoCL 中添加新的 GPU 架构支持
快速入门:使用现有 SPIR-V 编译器添加 GPU 支持
工作组 global id local id
工作组 global id local id
clEnqueueNDRangeKernel
工作组
景嘉微JM9230适配
景嘉微JM9230适配
Add spirv测试程序
安装驱动
RA
RA
RA
线性扫描
Relocation
Make & build
Make & build
Configure
Message
Ninja
编译时显示详细命令
Cmake
Cmake
Cmake configure file
Cmake exe case
Cmake lib case
Cmake
Cmake内置变量
Include头文件
Message
宏的使用
Set
Link
Link
Link library命令介绍
Link library命令区别
Make
Make
Example
Make
基础知识
基础知识
依赖
到达定值
有用的教程
活跃变量分析
Gas & nasm
Other
Other
娱乐
娱乐
1. 鱼声音乐
3DS
3DS
R4卡使用
安装软件
安装软件
FBI安装软件
FTP工具FTPD
RetroArch
3DS汉化
破解
破解
3DS安装必要工具
chainloader菜单和 Rosalina 菜单
通过mset9安装B9S
分期利率
Program
Program
Chrome plugin
BuildBot
BuildBot
1.3 A Quick Tour
1.4.1 user contributed tutorial
2.1 Instruction arch
Configuration
First Run
CAndCPlusPlus
CAndCPlusPlus
0长数组
cmdLine
Const
Header
Inline assembly test
Option header
C
C
C语言时间
C语言
CPlusPlus
CPlusPlus
C++获取当前时间
STD
C++filt
Map
C11
C11
C11类型转换
函数指针
智能指针
虚表虚指针
虚表虚指针
C++虚表地址、虚函数地址打印
Print虚表虚指针
单继承
多继承
虚基类
Float Point
Float Point
FCMP
Float Point
LLVM IR
NaN
Clang
Clang
Clang常用命令
Opt level
Other arch
clang cc1 Xclang
Clang option
查看include path
编译步骤
Calltree
Inline
Inline
Inline
Inline错误解决
Openmp
命令行参数
命令行参数
Getopt
Getopt long
Getopt long2
GPU
GPU
三种shader编译器
GL
GL
Uniform变量
openGL教程
webGL
基础概念
基础概念
Saturate
Swizzle
去掉符号表
Script
Script
Get current dir
Search all header file
画图
画图
Graphviz
在线画图
画图
UML
UML
PlantUML
Examples
Study
Windows
Windows
WSL
WSL
Error
Files share
Install
Vscode
离线安装
Windows远程桌面连接
Bazel
Doxygen
Docker
Docker
Run
传文件
Linux
Linux
Signal
So驱动与deb驱动
JARI WORKS
JARI WORKS
配置网络
颜色设置等
安装JARI WORKS
安装JARI WORKS
U盘直接安装JARI WORKS
双系统安装JARI works
制作U盘启动
系统LIBRARY设置
Linux分区
Linux分区
Linux分区
Linux第二块硬盘分区
挂载分区
查看分区情况
获得uuid
Swap
Swap
Swap作用
Swap分区增加
Repo
Repo
Repo地址
阿里镜像
Ubuntu
Ubuntu
20.04设置IP
Cmake
repo LJW
Repo源
vim变成ABCD
关闭GUI
安装ssh
安装typora
设置IP
问题
问题
Ubuntu无法打开terminal
重启失败
共享文件夹
共享文件夹
Samba
共享文件
Grub
Grub
Grub set root
Grub shell命令
Grub
Grub文件
何时需要set root
连接wifi
连接wifi
第一次联网
自动连网
Linux command
Linux command
Diff & patch
Find
Ls颜色问题
Md5sum
Mount
Rm
sed
Svn command
Useful command
Xargs
执行Shell脚本的4种方法及区别介绍
查看Linux发行版名称及版本号
查看cache信息
Compress
Compress
Tar
Tar more
Gerrit
Gerrit
Gerrit + Jira集成环境
Gerrit 代码提交审核操作指南v0.1
Gerrit+Gitlab 集成部署实例
Gerrit+Jenkins 集成部署实例
Gerrit使用技巧说明
代码提交审核流程策划
Git
Git
Cherry pick
Commit message
Git bisect
Git clone
Git command
Git format patch
Git log
Git merge
Git remove untrack
Git reset之后的恢复
Git submodule
Gitconfig
Gitignore
Git中文支持设置
Git换仓库地址
Git网站加速
Git设置代理
Hash验证和查看
切换远程分支
删除分支
指定key
Error
Error
Git error
Identification changed
Git rebase
Git rebase
Git rebase
修改某次提交
Hook
Hook
Hook
手写git hooks脚本
批量重命名
Repo
Repo
Dnf & rpm卸载软件
Dnf
Dnf
dnf REPO设置
Dnf如何安装软件
Rpm
Rpm
RPM包介绍
Linux rpm问题:怎样查看rpm安装包的安装路径
Rpm查询已安装的包
Shell
Shell
Shell
Echo颜色
Getopt & getops
Getopt & getops
Getopt & getopts
Getopt
Getopts
得到当前绝对路径
设置http代理
Ssh
Ssh
Error
Ssh command
Ssh免密登录
Ssh连接远程服务器自动断开解决
安全
Useradd & del &sudo
Useradd & del &sudo
Add & del
Sudo
更改用户名
Nohup
Machine learning
Machine learning
AI Compiler vs Traditional Compiler
AI base concept
AI base concept
Case
Pooling
Softmax
激活函数relu
JAX
JAX
AOT
JAX安装
Jax to pb
调试用选项
JIT
JIT
JIT
JIT原理和限制
Markdown格式文件
Markdown格式文件
1. 执行流程
10. jaxpr转mhlohlo
11. jax to pb
12. brainpy install
13. 南湖case
2. 调试用选项
3. LAX
4. make jaxpr
5. mhlo & hlo
6. JIT
7. JIT原理和限制
8. dialect
9. hlo与mhlo的相互转换
Jax 如何处理loop
Matrix
Matrix
BCOO & COO
CSR & CSC
流程与源码
流程与源码
Dialect
Hlo与mhlo的相互转换
Jaxpr转mhlohlo
MLIR
MLIR
Introduce
为什么引入MLIR
MLIR
MLIR
Framework
Mlir doc
MLIR:摩尔定律终结的编译器基础结构 论文解读
Toy Examples
Toy Examples
Ch1 Toy语言和AST
Ch2 生成初级MLIR
Mlir hlo
Link
TVM
TVM
Frame
TVM快递入门
初识TVM
代码解读
代码解读
Relay IR
Relay到llvm ir 1
Relay到llvm ir 2
Relay到llvm ir 3
Relay到llvm ir 4
Relay到llvm ir 5
Cuda
Cuda
CUDA实例
Nvcc
Nvdia ptx
Tensorflow
Tensorflow
TensorFlow XLA工作原理
Frame
Pip tensorflow安装
Xla
为XLA开发新的后端
从源码编译安装
编译调试选项
Tensorflow 2.0开发最佳实践
HLOToLLVMIR
HLOToLLVMIR
HLO Module
XLA编译
Flow
Gpu
Tensorflow xla hlo 基本概念和pass pipeline
一些概念和注释
保存为pb文件
Url
基本概念
基本概念
卷积和池化
神经网络
神经网络
RNN循环神经网络
SNN脉冲神经网络
Other
Other
Abbreviation
Complement
Python
Python
Constant
Dir
export ENV
File read write
Options
Schedule定时任务
Shutil
Tempdir
virtualEnv
安装或升级python
获得指令文件类型的文件名
File read and write
File read and write
Open
Truncate
多行输入
Aes加解密
Aes加解密
Aes加密
Cipher与fernet加解密对比
Cipher加解密示例
Fernet加解密示例
Arg option
Arg option
Argparser
Getopt
163发邮件
Pdb
Print
Print
Print %
Print format
Struct
Subprocess
Subprocess
Call & run
Call
Subprocess
包安装删除等
包安装删除等
Requirements安装依赖
几种安装方式
删除安装包
查看已安装包
正则表达式
正则表达式
Re.search & re.match
Regex search
Regex
正则
虚拟环境
虚拟环境
Conda
Conda和venv的区别
Linux安装conda
Venv
问题
问题
Cant compile Python
Apt pkg
Software
Software
VMware
VMware
VMware tools
文件夹共享
VNC
VNC
WSL使用VNC
安装
常用命令
灰屏问题
鼠标问题
树梅派
树梅派
macOS使用VNC
ubuntu使用VNC
安装
设置全屏
设置分辨率
VS code
VS code
Use clang in vscode
VSCode离线安装
Extensions list
Shrotcut
插件导入发出
Remote ssh
Markdown
Markdown
Markdown文件添加标题
Markdown生成目录
Markdown简单语法
画图
Others
Others
Useful web
Visual Performance Analyzer
Ascii graph
Bat
Binary decimal double
Build ld.gold
Calltree
Clang format
Diff github
Pipestat
Rsync & fwatch
Dot
Dot
Call hierarchy
Dot tool
Dummy
Study
Subgraph
Perf
Perf
Perf
Perf需要root的问题
Shell tool
Shell tool
Mobaxterm
Terminator
Tmux
Tmux
Tmux error
Tmux
Tmux config
源码安装
Zsh
Zsh
Zsh git 慢的问题
Zsh插件
安装oh my zsh
安装zsh
离线安装oh my zsh
Theme
Vim
Vim
Ctags & ctaglist
Llvm vim设置
Shortcut
Use llvm to modify the binary file
Vim command
Vimrc
Vim中使用clang format
Vim查找和替换
Nvim
Ubuntu下的问题
Useful
Useful
搭建http文件服务器
MacOS
MacOS
Chrome
Error
Java Install Error
Mac shortcut
Unzip
Video format fmpeg
X code
Backup
Finder设置
Useful plugin
Wifi共享
工具软件
查看CPU信息
设置代理proxy
Tools
Tools
Alfred
CatchMouse
Cheat Sheet
Iterm2
Iterm2
Solarized Dark Error
安装iterm2
Brew
Brew
Brew repo
Brew
MacPort安装和使用
Ruter
Ruter
Other
红米AC2100
路由器
AX6S
AX6S
VPN设置
初始账号
红米AX6S救砖教程
红米AX6S路由器刷入 openWrt 固件
设置中继路由器
5个实用网站
U盘检测linux
VPN
VPN
ShadowRocket
VPN原理
macos Shadowsockx
V2ray shadowsocks trojan特点
Ubuntu 18.04 下解决 shadowsocks 服务报错问题
Clash
Clash
订阅链接转换
Clash for linux
Clash for linux install(推荐)
Clash for linux install(推荐)
Clash for linux install安装
Clash允许局域网
Clash for macos
Clash for windows
Github
Github
Git使用代理
设置代理
Http代理
Http代理
使用HTTP代理
Squid
Squid
软件配置
安全
安全
IP限制
密码控制
Linux代理
Linux代理
Linux
安装shadowsocks
Ssh代理设置
Tencent
Tencent
Other
子账户
VirtualCoin
VirtualCoin
查询等
密码学
密码学
ECDSA算法
ECDSA算法生成数字签名介绍
如何转账
对称加密与非对称加密
非对称加密
比特币原理
比特币原理
UXTO解锁脚本的组成
Website
比特币UXTO中的解锁脚本的签名如何计算的
精通比特币
Digital device
Digital device
TV
TV
AFTVNews
App
IOS
IOS
Itunes windows
邮箱配置
龙芯3A5000+7A2000串口连接
Linux安装软件
Linux安装软件
AppImage
AppImage
AppImage文件介绍
管理AppImage应用
Flatpak
Flatpak
Flatpak与python对比
Flatpak介绍
Ubuntu上安装flatpak文件
安装
Mkdocs搭建github个人博客
Mkdocs搭建github个人博客
MkDocs目录结构
Markdown
Mkdocs help
Mkdocs介绍
留言板
Github发布与部署
Github发布与部署
Github action自动发布
Mkdocs gh deploy
Mkdocs github部署
依赖
Word
Word
Word
图片表格自动编号
Sci hub
专利
专利
专利写作
专利查找
专利流程
串口通信
串口通信
Linux设置串口通信
串口连接
主板电路图
共享鼠标
共享鼠标
共享鼠标软件汇总
Deskflow安装
域名服务器
域名服务器
Mail域名设置
阿里三方登陆
华为商城
华为商城
getByClass
倒计时
检查disabled
安装typora
Index
Home
Compiler
GCC
glto
https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
Bash
-flto
=
auto
-fuse-linker-plugin
回到页面顶部