我正在写一个LLVM传递来分析程序并选择几个基本块。我想将所选块(BasicBlock *)的列表存储到全局元数据中(并在后续传递中读回)。 (会有多个BB列表,因此我不想将元数据添加到BB /终止符指令中。)
输入:
Vector<BasicBlock*>
预期产出:
!42 = !{BB1*, BB2*, ...}
我找到了this related question,但我无法转换BasicBlock或指令(例如BB终结符),以便正确地&#34;&#34;保存在元数据中。一种可能的解决方法是保存两个字符串 - 函数名称和BB名称,但我希望有一个更强大的解决方案。