gpt4 book ai didi

compiler-construction - 什么是破坏者?

转载 作者:行者123 更新时间:2023-12-04 08:40:12 25 4
gpt4 key购买 nike

叮当 TargetInfo 有一个方法叫 getClobbers :

Returns a string of target-specific clobbers, in LLVM format.



那么,什么是clobber?

最佳答案

被破坏的寄存器是被内联汇编程序以不可预测的方式修改的寄存器。这通常发生在您需要温度时。注册或使用特定指令,该指令恰好将某些寄存器作为副产品进行修改。
通常程序员显式声明被他的内联汇编代码破坏的寄存器,但有些可能被认为默认被丢弃,这就是 getClobbers参加进来。getClobbers大多数目标返回空结果。在 MIPS GCC 上历史上没有使用过 $1在生成的代码中,因此大多数程序员不会费心将其声明为已损坏。为了降低可移植性成本,LLVM 考虑了 $1总是被内联 asm 破坏。另一个例子是算术标志寄存器 (cc),它是 considered to be always clobbered by inline asm通过 GCC 在 i386 和 x86_64 目标上。

关于compiler-construction - 什么是破坏者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41899881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com