[llvm-dev] Function return type does not match operand type of return inst!
Priyanka Bamne via llvm-dev
llvm-dev at lists.llvm.org
Thu Oct 15 01:08:23 PDT 2015
This is a verifier check.But i am not getting how to resolve this.Do i need
to change the function return type or some thing else.
ValueToValueMapTy VMap;
BasicBlock *clonedBlock =CloneBasicBlock(bb, VMap, ".tr",
bb->getParent());
std::cout<<"clone done"<<"\n";
TerminatorInst *merge_term=bb->getTerminator();
std::cout<<"got terminator"<<"\n";
TerminatorInst *new_term=clonedBlock->getTerminator();
errs()<<"new terminator instuction in perf:"<<*new_term<<"\n";
//Perform the ReMapping of Clonedinstructions
for (BasicBlock::iterator I = clonedBlock->begin(); I !=
clonedBlock->end(); ++I)
{
//Loop over all the operands of the instruction
for (unsigned op=0, E = I->getNumOperands(); op != E;
++op)
{
const Value *Op = I->getOperand(op);
//Get it out of the value map
Value *V = VMap[Op];
//If not in the value map, then its outside our
trace so ignore
if(V != 0)
I->setOperand(op,V);
}
}
merge_term->setOperand(0,clonedBlock);
std::cout<<"set terminator"<<"\n";
this is my pass
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151015/d28a9fc4/attachment.html>
More information about the llvm-dev
mailing list