[LLVMdev] replacing a global variable by a constant

neda 8664 neda8664 at gmail.com
Thu Oct 6 00:36:35 PDT 2011


I would delete the Loop. I used the following code.

    cout << "begin to delete loop" << endl;
    for (Loop::block_iterator bi = L->block_begin(), bi2; bi !=
L->block_end(); bi = bi2) {
        bi2 = bi;
        bi2++;
        BasicBlock * BB = *bi;
        for (BasicBlock::iterator ii = BB->begin(), ii2; ii != BB->end();
ii= ii2) {
            ii2 = ii;
            ii2++;
            Instruction *inst = ii;
            inst->eraseFromParent();
        }
        BB->eraseFromParent();
    }

But I get the following error:

Use still stuck around after Def is destroyed:  %t1 = icmp sle i32 %t0, 9
opt: /home/llvm/src/lib/VMCore/Value.cpp:75: virtual llvm::Value::~Value():
Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed.
0  opt 0x0848e569
Stack dump:


What suggestions do you have for solve this problem?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20111006/4fb0c505/attachment.html>


More information about the llvm-dev mailing list