3

我是 LLVM 的新手,我目前正在研究涉及内存依赖性分析的东西。阅读文档我发现“clobber”这个词被大量使用。现在,我确实了解内联汇编器等方面的破坏寄存器是什么,但它在 LLVM 文档中的用法让我感到困惑。

例如,在https://llvm.org/docs/MemorySSA.html中提到:

给定 MemoryAccess 的操作数都是所述 MemoryAccess 的(潜在)破坏者,并且 MemoryAccess 产生的值可以充当其他 MemoryAccesses 的破坏者......

或者

%a 的商店显然不是 %b 的商店的破坏者。walker 的目标是弄清楚这一点,并在查询 MemoryAccess 2 的clobber 时返回 liveOnEntry。

或者

如果您选择制作自己的助行器,您可以通过以下方式找到 MemoryAccess 的破坏者...

此外,在这个(简短的)谈话中,他在 0:38 谈到“商店破坏的东西”,在 0:53 谈到 Load 操作数是“无论别名分析所说的破坏它”。

我不确定如何理解该术语的这种用法,我希望能提供任何指向正确方向的指针。

4

0 回答 0