本文整理汇总了C++中basicblock::InstListType::begin方法的典型用法代码示例。如果您正苦于以下问题:C++ InstListType::begin方法的具体用法?C++ InstListType::begin怎么用?C++ InstListType::begin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类basicblock::InstListType
的用法示例。
在下文中一共展示了InstListType::begin方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sortBasicBlock
void Decompiler::sortBasicBlock(BasicBlock *BB) {
BasicBlock::InstListType *Cur = &BB->getInstList();
BasicBlock::InstListType::iterator P, I, E, S;
I = Cur->begin();
E = Cur->end();
while (I != E) {
P = I;
if (++I == E) {
break; // Note the terminator is always last instruction
}
if (Dis->getDebugOffset(P->getDebugLoc())
<= Dis->getDebugOffset(I->getDebugLoc())) {
continue;
}
while (--P != Cur->begin()
&& Dis->getDebugOffset(P->getDebugLoc())
> Dis->getDebugOffset(I->getDebugLoc())) {
// Do nothing.
}
// Insert at P, remove at I
S = I;
++S;
Instruction *Tmp = &(*I);
Cur->remove(I);
Cur->insertAfter(P, Tmp);
I = S;
}
I = Cur->begin();
E = Cur->end();
while (I != E) {
// outs() << "Line #: " << I->getDebugLoc().getLine() << "\n";
++I;
}
}