[LLVMdev] Remove function from module
Михаил
neonomaly.x at gmail.com
Sat Apr 21 13:09:15 PDT 2012
Thanks, but I replaceAllUsesWith() - works well, but I still get bug in eraseFromParent():
While deleting: i32 (%class.B*, i32)* %_ZN1B1xEi
An asserting value handle still pointed to this value!
UNREACHABLE executed at /Users/neonomaly/LLVM/LLVM/lib/VMCore/Value.cpp:561!
Yours sincerely,
Kadysev Mikhail
21.04.2012, в 23:45, Nick Lewycky написал(а):
> Михаил 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120422/a1ef5335/attachment.html>
More information about the llvm-dev
mailing list