<div>When I use the next code to print all the opcode name in a file xx.o whose source file contains statements "if (diff != 0) klee_assume(diff>0)", then an opcode name 'and' was printed. Where is the 'and' instruction from? I checked the file xx.ll of xx.o and I didn't find a 'and' instruction of these two statements. </div>

<div>Besides, when I commented out statement "if (diff != 0)", the 'and' instruction disappeared.</div><div><br></div><div>  for (llvm::Module::iterator itf = module->begin(); itf != module->end(); ++itf) {</div>

<div>        llvm::Function *f = itf;</div><div>        for (llvm::Function::iterator itb = f->begin(); itb != f->end(); ++itb) {</div><div>            llvm::BasicBlock *bb = itb;</div><div>            for (llvm::BasicBlock::iterator iti = bb->begin(); iti != bb->end(); ++iti) {</div>

<div>                llvm::Instruction *i = iti;</div><div>                *msg << i->getOpcodeName() << "\n";</div><div>            }</div><div>        }</div><div>    }</div><br>--------------------------------------------<br>

Qiuping Yi<br>Institute Of Software<br>Chinese Academy of Sciences<br>