Lines Matching defs:PHI

75   void convertPHI(MachineBasicBlock *MBB, MachineInstr &PHI);
302 // The def should not be PHI node, because we walk the MBB in reverse post
304 assert(MI->isPHI() && "Unexpected PHI when get shape.");
323 MachineInstr &PHI) {
325 // 2. Create PHI node for the stack address.
326 // 3. Create PHI node for shape. If one of the incoming shape is immediate
327 // use the immediate and delete the PHI node.
330 MachineInstrBuilder AddrPHI = BuildMI(*MBB, ++PHI.getIterator(), DebugLoc(),
331 TII->get(X86::PHI), StackAddrReg);
333 MachineInstrBuilder RowPHI = BuildMI(*MBB, ++PHI.getIterator(), DebugLoc(),
334 TII->get(X86::PHI), RowReg);
336 MachineInstrBuilder ColPHI = BuildMI(*MBB, ++PHI.getIterator(), DebugLoc(),
337 TII->get(X86::PHI), ColReg);
339 VisitedPHIs[&PHI] = {RowReg, ColReg, StackAddrReg};
341 for (unsigned I = 1, E = PHI.getNumOperands(); I != E; I += 2) {
343 Register InTileReg = PHI.getOperand(I).getReg();
348 MachineBasicBlock *InMBB = PHI.getOperand(I + 1).getMBB();
372 // Recursively convert PHI to tileload
374 // The PHI node is coverted to tileload instruction. Get the stack
412 Register TileReg = PHI.getOperand(0).getReg();
421 PHI.eraseFromParent();
422 VisitedPHIs.erase(&PHI);
454 MachineInstr *PHI = PHIs.pop_back_val();
460 for (unsigned I = 1, E = PHI->getNumOperands(); I != E; I += 2) {
461 Register InTileReg = PHI->getOperand(I).getReg();
462 MachineBasicBlock *InMBB = PHI->getOperand(I + 1).getMBB();
467 InMO = &PHI->getOperand(I);
478 MachineBasicBlock *InMBB = PHI->getOperand(I + 1).getMBB();
686 // PHI node convert.