[LLVMdev] Remove function from module

Nick Lewycky nicholas at mxc.ca
Sat Apr 21 12:45:52 PDT 2012


Михаил wrote:
> How correctly remove function from module?
> For example:
>
> int f1(int x) {
> ...
> a = f2(smth);
> ...
> }
> int f2 (int y) {
> ...
> b = f1(smth);
> ...
> }
>
> I need delete from module both f1 and f2. They haven't uses in other
> part of module, but I can't delete them with eraseFromParent, because
> they are use each other.

Call X->replaceAllUsesWith(UndefValue::get(X->getType)) before calling 
X->eraseFromParent().

Nick



More information about the llvm-dev mailing list