reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
619 if (MBBI != MBB.end() && MBBI->getOpcode() != ARM::tB) 619 if (MBBI != MBB.end() && MBBI->getOpcode() != ARM::tB) 620 CanRestoreDirectly = (MBBI->getOpcode() == ARM::tBX_RET || 621 MBBI->getOpcode() == ARM::tPOP_RET); 623 auto MBBI_prev = MBBI; 628 MBBI = MBBI_prev; // Replace the final tPOP with a tPOP_RET. 635 if (!DoIt || MBBI->getOpcode() == ARM::tPOP_RET) 638 BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII.get(ARM::tPOP_RET)) 638 BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII.get(ARM::tPOP_RET)) 641 for (auto MO: MBBI->operands()) 646 MBB.erase(MBBI); 664 if (MBBI != MBB.end()) { 665 dl = MBBI->getDebugLoc(); 667 while (InstUpToMBBI != MBBI) 700 if (!PopReg && MBBI != MBB.begin()) { 701 auto PrevMBBI = MBBI; 707 MBBI = PrevMBBI; 721 BuildMI(MBB, MBBI, dl, TII.get(ARM::tLDRspi)) 724 .addImm(MBBI->getNumExplicitOperands() - 2) 727 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr)) 732 MBBI++; 734 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, 743 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr)) 749 if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tPOP_RET) { 749 if (MBBI != MBB.end() && MBBI->getOpcode() == ARM::tPOP_RET) { 753 BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII.get(ARM::tPOP)) 753 BuildMI(MBB, MBBI, MBBI->getDebugLoc(), TII.get(ARM::tPOP)) 756 for (auto MO: MBBI->operands()) 767 MBB.erase(MBBI); 768 MBBI = BuildMI(MBB, MBB.end(), dl, TII.get(ARM::tBX_RET)) 773 BuildMI(MBB, MBBI, dl, TII.get(ARM::tPOP)) 777 emitPrologueEpilogueSPUpdate(MBB, MBBI, TII, dl, *RegInfo, ArgRegsSaveSize, 780 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr)) 786 BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr))