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

References

lib/CodeGen/MachineCSE.cpp
  520     if (!isCSECandidate(MI))
  523     bool FoundCSE = VNT.count(MI);
  526       if (PerformTrivialCopyPropagation(MI, MBB)) {
  530         if (MI->isCopyLike())
  534         FoundCSE = VNT.count(MI);
  540     if (!FoundCSE && MI->isCommutable()) {
  541       if (MachineInstr *NewMI = TII->commuteInstruction(*MI)) {
  544         if (NewMI != MI) {
  550           (void)TII->commuteInstruction(*MI);
  561     if (FoundCSE && hasLivePhysRegDefUses(MI, MBB, PhysRefs,
  571         unsigned CSVN = VNT.lookup(MI);
  573         if (PhysRegDefsReach(CSMI, MI, PhysRefs, PhysDefs, CrossMBBPhysDef))
  579       VNT.insert(MI, CurrVN++);
  580       Exps.push_back(MI);
  585     unsigned CSVN = VNT.lookup(MI);
  587     LLVM_DEBUG(dbgs() << "Examining: " << *MI);
  592     unsigned NumDefs = MI->getNumDefs();
  594     for (unsigned i = 0, e = MI->getNumOperands(); NumDefs && i != e; ++i) {
  595       MachineOperand &MO = MI->getOperand(i);
  620       if (!isProfitableToCSE(NewReg, OldReg, CSMI->getParent(), MI)) {
  659         if (!MI->getOperand(PhysDef.first).isDead())
  672       if (CSMI->getParent() == MI->getParent()) {
  673         for (MachineBasicBlock::iterator II = CSMI, IE = MI; II != IE; ++II)
  696       MI->eraseFromParent();
  704       VNT.insert(MI, CurrVN++);
  705       Exps.push_back(MI);