gpt4 book ai didi

c++ - 我怎样才能从 LLVM 中的 BasicBlock 中识别一个 backedge

转载 作者:太空狗 更新时间:2023-10-29 21:47:53 28 4
gpt4 key购买 nike

我正在编写一个 LLVM pass,用于分析和修改生成的 IR 代码。有没有办法识别后边,我的意思是知道 BasicBlock 的后继者是否实际上在路径中的某个位置。

最佳答案

是的,有。

首先,请注意您需要区分“到 BB 的每条路径都必须经过 A”和“从 A 到 BB 的某些路径”。

我认为您正在寻找第一种情况 - 判断基本 block BB 的后继 A 是否是执行必须经过才能到达 B 的基本 block 。

当这种情况发生时,我们说“A支配B”。检查支配地位的接口(interface)是通过 DominatorTree类(添加到您的通行证的 getAnalysisUsage 函数中。有关示例,请参见 writing an llvm pass)。

关于c++ - 我怎样才能从 LLVM 中的 BasicBlock 中识别一个 backedge,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12128322/

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