[LLVM]在汇编语言上插入指令

5 篇文章 0 订阅

问题:LLVM如何实现在汇编语言的.s 文件中所有call指令前后添加2行固定指令?

答:LLVMfunction相关的pass用于修改ir,而machine function相关的pas用于修改mir,也就相当于修改生成的汇编

编写machine function pass然后遍历每个指令,在call之前调用buildMI函数插入需要的指令,这个pass必须在code emit之前,指令调度之后,为了避免指令调度把插入的固定指令移动到其它位置

判断一个mir是否call函数,可以使用mi->desc().isCall判断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值