reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/PowerPC/PPCISelLowering.cpp
10868     return emitPatchPoint(MI, BB);
10873     return emitEHSjLjSetJmp(MI, BB);
10876     return emitEHSjLjLongJmp(MI, BB);
10883   const BasicBlock *LLVM_BB = BB->getBasicBlock();
10884   MachineFunction::iterator It = ++BB->getIterator();
10886   MachineFunction *F = BB->getParent();
10900     TII->insertSelect(*BB, MI, dl, MI.getOperand(0).getReg(), Cond,
10940     MachineBasicBlock *thisMBB = BB;
10948     sinkMBB->splice(sinkMBB->begin(), BB,
10949                     std::next(MachineBasicBlock::iterator(MI)), BB->end());
10950     sinkMBB->transferSuccessorsAndUpdatePHIs(BB);
10953     BB->addSuccessor(copy0MBB);
10954     BB->addSuccessor(sinkMBB);
10968       BuildMI(BB, dl, TII->get(PPC::BC))
10973       BuildMI(BB, dl, TII->get(PPC::BCC))
10982     BB = copy0MBB;
10985     BB->addSuccessor(sinkMBB);
10990     BB = sinkMBB;
10991     BuildMI(*BB, BB->begin(), dl, TII->get(PPC::PHI), MI.getOperand(0).getReg())
10991     BuildMI(*BB, BB->begin(), dl, TII->get(PPC::PHI), MI.getOperand(0).getReg())
11016     sinkMBB->splice(sinkMBB->begin(), BB,
11017                     std::next(MachineBasicBlock::iterator(MI)), BB->end());
11018     sinkMBB->transferSuccessorsAndUpdatePHIs(BB);
11020     BB->addSuccessor(readMBB);
11021     BB = readMBB;
11028     BuildMI(BB, dl, TII->get(PPC::MFSPR), HiReg).addImm(269);
11029     BuildMI(BB, dl, TII->get(PPC::MFSPR), LoReg).addImm(268);
11030     BuildMI(BB, dl, TII->get(PPC::MFSPR), ReadAgainReg).addImm(269);
11034     BuildMI(BB, dl, TII->get(PPC::CMPW), CmpReg)
11037     BuildMI(BB, dl, TII->get(PPC::BCC))
11042     BB->addSuccessor(readMBB);
11043     BB->addSuccessor(sinkMBB);
11045     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::ADD4);
11045     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::ADD4);
11047     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::ADD4);
11047     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::ADD4);
11049     BB = EmitAtomicBinary(MI, BB, 4, PPC::ADD4);
11049     BB = EmitAtomicBinary(MI, BB, 4, PPC::ADD4);
11051     BB = EmitAtomicBinary(MI, BB, 8, PPC::ADD8);
11051     BB = EmitAtomicBinary(MI, BB, 8, PPC::ADD8);
11054     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::AND);
11054     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::AND);
11056     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::AND);
11056     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::AND);
11058     BB = EmitAtomicBinary(MI, BB, 4, PPC::AND);
11058     BB = EmitAtomicBinary(MI, BB, 4, PPC::AND);
11060     BB = EmitAtomicBinary(MI, BB, 8, PPC::AND8);
11060     BB = EmitAtomicBinary(MI, BB, 8, PPC::AND8);
11063     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::OR);
11063     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::OR);
11065     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::OR);
11065     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::OR);
11067     BB = EmitAtomicBinary(MI, BB, 4, PPC::OR);
11067     BB = EmitAtomicBinary(MI, BB, 4, PPC::OR);
11069     BB = EmitAtomicBinary(MI, BB, 8, PPC::OR8);
11069     BB = EmitAtomicBinary(MI, BB, 8, PPC::OR8);
11072     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::XOR);
11072     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::XOR);
11074     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::XOR);
11074     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::XOR);
11076     BB = EmitAtomicBinary(MI, BB, 4, PPC::XOR);
11076     BB = EmitAtomicBinary(MI, BB, 4, PPC::XOR);
11078     BB = EmitAtomicBinary(MI, BB, 8, PPC::XOR8);
11078     BB = EmitAtomicBinary(MI, BB, 8, PPC::XOR8);
11081     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::NAND);
11081     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::NAND);
11083     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::NAND);
11083     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::NAND);
11085     BB = EmitAtomicBinary(MI, BB, 4, PPC::NAND);
11085     BB = EmitAtomicBinary(MI, BB, 4, PPC::NAND);
11087     BB = EmitAtomicBinary(MI, BB, 8, PPC::NAND8);
11087     BB = EmitAtomicBinary(MI, BB, 8, PPC::NAND8);
11090     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::SUBF);
11090     BB = EmitPartwordAtomicBinary(MI, BB, true, PPC::SUBF);
11092     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::SUBF);
11092     BB = EmitPartwordAtomicBinary(MI, BB, false, PPC::SUBF);
11094     BB = EmitAtomicBinary(MI, BB, 4, PPC::SUBF);
11094     BB = EmitAtomicBinary(MI, BB, 4, PPC::SUBF);
11096     BB = EmitAtomicBinary(MI, BB, 8, PPC::SUBF8);
11096     BB = EmitAtomicBinary(MI, BB, 8, PPC::SUBF8);
11099     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPW, PPC::PRED_GE);
11099     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPW, PPC::PRED_GE);
11101     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPW, PPC::PRED_GE);
11101     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPW, PPC::PRED_GE);
11103     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPW, PPC::PRED_GE);
11103     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPW, PPC::PRED_GE);
11105     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPD, PPC::PRED_GE);
11105     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPD, PPC::PRED_GE);
11108     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPW, PPC::PRED_LE);
11108     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPW, PPC::PRED_LE);
11110     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPW, PPC::PRED_LE);
11110     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPW, PPC::PRED_LE);
11112     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPW, PPC::PRED_LE);
11112     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPW, PPC::PRED_LE);
11114     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPD, PPC::PRED_LE);
11114     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPD, PPC::PRED_LE);
11117     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPLW, PPC::PRED_GE);
11117     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPLW, PPC::PRED_GE);
11119     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPLW, PPC::PRED_GE);
11119     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPLW, PPC::PRED_GE);
11121     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPLW, PPC::PRED_GE);
11121     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPLW, PPC::PRED_GE);
11123     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPLD, PPC::PRED_GE);
11123     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPLD, PPC::PRED_GE);
11126     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPLW, PPC::PRED_LE);
11126     BB = EmitPartwordAtomicBinary(MI, BB, true, 0, PPC::CMPLW, PPC::PRED_LE);
11128     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPLW, PPC::PRED_LE);
11128     BB = EmitPartwordAtomicBinary(MI, BB, false, 0, PPC::CMPLW, PPC::PRED_LE);
11130     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPLW, PPC::PRED_LE);
11130     BB = EmitAtomicBinary(MI, BB, 4, 0, PPC::CMPLW, PPC::PRED_LE);
11132     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPLD, PPC::PRED_LE);
11132     BB = EmitAtomicBinary(MI, BB, 8, 0, PPC::CMPLD, PPC::PRED_LE);
11135     BB = EmitPartwordAtomicBinary(MI, BB, true, 0);
11135     BB = EmitPartwordAtomicBinary(MI, BB, true, 0);
11137     BB = EmitPartwordAtomicBinary(MI, BB, false, 0);
11137     BB = EmitPartwordAtomicBinary(MI, BB, false, 0);
11139     BB = EmitAtomicBinary(MI, BB, 4, 0);
11139     BB = EmitAtomicBinary(MI, BB, 4, 0);
11141     BB = EmitAtomicBinary(MI, BB, 8, 0);
11141     BB = EmitAtomicBinary(MI, BB, 8, 0);
11189     exitMBB->splice(exitMBB->begin(), BB,
11190                     std::next(MachineBasicBlock::iterator(MI)), BB->end());
11191     exitMBB->transferSuccessorsAndUpdatePHIs(BB);
11196     BB->addSuccessor(loop1MBB);
11209     BB = loop1MBB;
11210     BuildMI(BB, dl, TII->get(LoadMnemonic), dest).addReg(ptrA).addReg(ptrB);
11211     BuildMI(BB, dl, TII->get(is64bit ? PPC::CMPD : PPC::CMPW), PPC::CR0)
11214     BuildMI(BB, dl, TII->get(PPC::BCC))
11218     BB->addSuccessor(loop2MBB);
11219     BB->addSuccessor(midMBB);
11221     BB = loop2MBB;
11222     BuildMI(BB, dl, TII->get(StoreMnemonic))
11226     BuildMI(BB, dl, TII->get(PPC::BCC))
11230     BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB);
11231     BB->addSuccessor(loop1MBB);
11232     BB->addSuccessor(exitMBB);
11234     BB = midMBB;
11235     BuildMI(BB, dl, TII->get(StoreMnemonic))
11239     BB->addSuccessor(exitMBB);
11243     BB = exitMBB;
11268     exitMBB->splice(exitMBB->begin(), BB,
11269                     std::next(MachineBasicBlock::iterator(MI)), BB->end());
11270     exitMBB->transferSuccessorsAndUpdatePHIs(BB);
11297     BB->addSuccessor(loop1MBB);
11328       BuildMI(BB, dl, TII->get(is64bit ? PPC::ADD8 : PPC::ADD4), Ptr1Reg)
11337     BuildMI(BB, dl, TII->get(PPC::RLWINM), Shift1Reg)
11343       BuildMI(BB, dl, TII->get(PPC::XORI), ShiftReg)
11347       BuildMI(BB, dl, TII->get(PPC::RLDICR), PtrReg)
11352       BuildMI(BB, dl, TII->get(PPC::RLWINM), PtrReg)
11357     BuildMI(BB, dl, TII->get(PPC::SLW), NewVal2Reg)
11360     BuildMI(BB, dl, TII->get(PPC::SLW), OldVal2Reg)
11364       BuildMI(BB, dl, TII->get(PPC::LI), Mask2Reg).addImm(255);
11366       BuildMI(BB, dl, TII->get(PPC::LI), Mask3Reg).addImm(0);
11367       BuildMI(BB, dl, TII->get(PPC::ORI), Mask2Reg)
11371     BuildMI(BB, dl, TII->get(PPC::SLW), MaskReg)
11374     BuildMI(BB, dl, TII->get(PPC::AND), NewVal3Reg)
11377     BuildMI(BB, dl, TII->get(PPC::AND), OldVal3Reg)
11381     BB = loop1MBB;
11382     BuildMI(BB, dl, TII->get(PPC::LWARX), TmpDestReg)
11385     BuildMI(BB, dl, TII->get(PPC::AND), TmpReg)
11388     BuildMI(BB, dl, TII->get(PPC::CMPW), PPC::CR0)
11391     BuildMI(BB, dl, TII->get(PPC::BCC))
11395     BB->addSuccessor(loop2MBB);
11396     BB->addSuccessor(midMBB);
11398     BB = loop2MBB;
11399     BuildMI(BB, dl, TII->get(PPC::ANDC), Tmp2Reg)
11402     BuildMI(BB, dl, TII->get(PPC::OR), Tmp4Reg)
11405     BuildMI(BB, dl, TII->get(PPC::STWCX))
11409     BuildMI(BB, dl, TII->get(PPC::BCC))
11413     BuildMI(BB, dl, TII->get(PPC::B)).addMBB(exitMBB);
11414     BB->addSuccessor(loop1MBB);
11415     BB->addSuccessor(exitMBB);
11417     BB = midMBB;
11418     BuildMI(BB, dl, TII->get(PPC::STWCX))
11422     BB->addSuccessor(exitMBB);
11426     BB = exitMBB;
11427     BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW), dest)
11427     BuildMI(*BB, BB->begin(), dl, TII->get(PPC::SRW), dest)
11443     BuildMI(*BB, MI, dl, TII->get(PPC::MFFS), MFFSReg);
11446     BuildMI(*BB, MI, dl, TII->get(PPC::MTFSB1)).addImm(31);
11447     BuildMI(*BB, MI, dl, TII->get(PPC::MTFSB0)).addImm(30);
11450     BuildMI(*BB, MI, dl, TII->get(PPC::FADD), Dest).addReg(Src1).addReg(Src2);
11453     BuildMI(*BB, MI, dl, TII->get(PPC::MTFSFb)).addImm(1).addReg(MFFSReg);
11470     BuildMI(*BB, MI, dl, TII->get(Opcode), Dest)
11473     BuildMI(*BB, MI, dl, TII->get(TargetOpcode::COPY),
11480     BuildMI(*BB, MI, Dl, TII->get(PPC::TCHECK), CRReg);
11481     BuildMI(*BB, MI, Dl, TII->get(TargetOpcode::COPY),
11487     BuildMI(*BB, MI, Dl, TII->get(PPC::TBEGIN)).addImm(Imm);
11488     BuildMI(*BB, MI, Dl, TII->get(TargetOpcode::COPY),
11496     BuildMI(*BB, MI, dl, TII->get(PPC::MFFS), OldFPSCRReg);
11508     BuildMI(*BB, MI, dl, TII->get((Mode & 1) ? PPC::MTFSB1 : PPC::MTFSB0))
11511     BuildMI(*BB, MI, dl, TII->get((Mode & 2) ? PPC::MTFSB1 : PPC::MTFSB0))
11523         BuildMI(*BB, MI, dl, TII->get(TargetOpcode::COPY), DestReg)
11553         BuildMI(*BB, MI, dl, TII->get(StoreOp))
11567         BuildMI(*BB, MI, dl, TII->get(LoadOp), DestReg)
11577     BuildMI(*BB, MI, dl, TII->get(PPC::MFFS), OldFPSCRReg);
11599     BuildMI(*BB, MI, dl, TII->get(TargetOpcode::IMPLICIT_DEF), ImDefReg);
11600     BuildMI(*BB, MI, dl, TII->get(PPC::INSERT_SUBREG), ExtSrcReg)
11606     BuildMI(*BB, MI, dl, TII->get(PPC::RLDIMI), NewFPSCRTmpReg)
11617     BuildMI(*BB, MI, dl, TII->get(PPC::MTFSF))
11627   return BB;