Home | History | Annotate | Download | only in SelectionDAG

Lines Matching refs:PHI

131 STATISTIC(NumFastIselFailPHI,"Fast isel fails on PHI");
368 /// SplitCriticalSideEffectEdges - Look for critical edges with a PHI value that
370 /// through the predecessor block that doesn't go to the phi block doesn't
376 // Loop for blocks with phi nodes.
382 // For each block with a PHI node, check to see if any of the input values
385 // PHI.
392 // Since this block has a PHI Node, we assume it has multiple input
796 // update PHI nodes later on.
994 case Instruction::PHI: NumFastIselFailPHI++; return;
1338 DEBUG(dbgs() << "Total amount of phi nodes to update: "
1350 // PHI nodes in successors.
1353 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[i].first);
1354 assert(PHI->isPHI() &&
1355 "This is not a machine PHI node that we are updating!");
1356 if (!FuncInfo->MBB->isSuccessor(PHI->getParent()))
1358 PHI.addReg(FuncInfo->PHINodesToUpdate[i].second).addMBB(FuncInfo->MBB);
1404 // If we updated PHI Nodes, return early.
1452 // Update PHI Nodes
1455 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[pi].first);
1456 MachineBasicBlock *PHIBB = PHI->getParent();
1457 assert(PHI->isPHI() &&
1458 "This is not a machine PHI node that we are updating!");
1462 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second)
1471 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(cBB);
1478 // Updating the PHI nodes is tricky in this case, since we need to determine
1479 // whether the PHI is a successor of the range check MBB or the jump table MBB
1503 // Update PHI Nodes
1506 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[pi].first);
1507 MachineBasicBlock *PHIBB = PHI->getParent();
1508 assert(PHI->isPHI() &&
1509 "This is not a machine PHI node that we are updating!");
1512 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second)
1516 PHI.addReg(FuncInfo->PHINodesToUpdate[pi].second).addMBB(FuncInfo->MBB);
1522 // need to update PHI nodes in that block.
1524 MachineInstrBuilder PHI(*MF, FuncInfo->PHINodesToUpdate[i].first);
1525 assert(PHI->isPHI() &&
1526 "This is not a machine PHI node that we are updating!");
1527 if (FuncInfo->MBB->isSuccessor(PHI->getParent()))
1528 PHI.addReg(FuncInfo->PHINodesToUpdate[i].second).addMBB(FuncInfo->MBB);
1551 // populating PHI nodes in successors.
1554 // Handle any PHI nodes in successors of this chunk, as if we were coming
1555 // from the original BB before switch expansion. Note that PHI nodes can
1567 MachineInstrBuilder PHI(*MF, MBBI);
1568 // This value for this PHI node is recorded in PHINodesToUpdate.
1571 "Didn't find PHI entry!");
1572 if (FuncInfo->PHINodesToUpdate[pn].first == PHI) {
1573 PHI.addReg(FuncInfo->PHINodesToUpdate[pn].second).addMBB(ThisBB);