mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 23:17:16 +00:00
(Almost) always call reserveOperandSpace() on newly created PHINodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128535 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -929,14 +929,16 @@ BasicBlock::iterator PathProfiler::getInsertionPoint(BasicBlock* block, Value*
|
||||
void PathProfiler::preparePHI(BLInstrumentationNode* node) {
|
||||
BasicBlock* block = node->getBlock();
|
||||
BasicBlock::iterator insertPoint = block->getFirstNonPHI();
|
||||
pred_iterator PB = pred_begin(node->getBlock()),
|
||||
PE = pred_end(node->getBlock());
|
||||
PHINode* phi = PHINode::Create(Type::getInt32Ty(*Context), "pathNumber",
|
||||
insertPoint );
|
||||
phi->reserveOperandSpace(std::distance(PB, PE));
|
||||
node->setPathPHI(phi);
|
||||
node->setStartingPathNumber(phi);
|
||||
node->setEndingPathNumber(phi);
|
||||
|
||||
for(pred_iterator predIt = pred_begin(node->getBlock()),
|
||||
end = pred_end(node->getBlock()); predIt != end; predIt++) {
|
||||
for(pred_iterator predIt = PB; predIt != PE; predIt++) {
|
||||
BasicBlock* pred = (*predIt);
|
||||
|
||||
if(pred != NULL)
|
||||
|
||||
Reference in New Issue
Block a user