gpt4 book ai didi

c++ - LLVM 错误 : Broken function found, 编译中止!在 removeFromParent() 之后

转载 作者:行者123 更新时间:2023-11-28 06:05:00 27 4
gpt4 key购买 nike

我有一个 test.c 文件,其中有这个函数调用:

functiontest(2,x);

我想删除这个函数调用(通过 llvm 传递),当我尝试像这样使用 removeFromParent() 函数时:

calledFunction1->removeFromParent();

这会导致 LLVM 产生以下错误:

Referencing function in another module!
call void @functiontest(i32 2, float %tmp15)

LLVM ERROR: Broken function found, compilation aborted!

我也试过调用 eraseFromParent() 但这会触发断言:

Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed.

我更愿意使用removeFromParent()

有什么问题吗?

最佳答案

首先,如果您能发布一个演示您的问题的最小代码示例,那将非常有帮助。否则,我们只能猜测。一些观察结果:

  1. 为什么您更喜欢 removeFromParent?调用指令也必须删除,这就是 eraseFromParent 所做的。
  2. 您是否在删除/删除之前调用了 replaceAllUsesWith?否则,请坚持使用。
  3. 您是否删除了函数或调用指令?这可以解释第一条错误消息。

关于c++ - LLVM 错误 : Broken function found, 编译中止!在 removeFromParent() 之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32563849/

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