| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyLateEHPrepare.cpp | 78 if (MBB->isEHPad()) { in getMatchingEHPad() 81 EHPad = MBB; in getMatchingEHPad() 101 if (Deleted.count(MBB) || !MBB->pred_empty()) in eraseDeadBBsAndChildren() 104 WL.append(MBB->succ_begin(), MBB->succ_end()); in eraseDeadBBsAndChildren() 109 Deleted.insert(MBB); in eraseDeadBBsAndChildren() 141 for (auto &MBB : MF) in removeUnreachableEHPads() local 142 if (MBB.isEHPad() && MBB.pred_empty()) in removeUnreachableEHPads() 153 for (auto &MBB : MF) { in recordCatchRetBBs() local 178 for (auto &MBB : MF) in hoistCatches() local 206 if (!MBB.isEHPad()) in addCatchAlls() [all …]
|
| H A D | WebAssemblyCFGSort.cpp | 96 MachineFunction *MF = MBB->getParent(); in maybeUpdateTerminator() 197 for (MachineBasicBlock &MBB : MF) { in sortBlocks() 198 unsigned N = MBB.pred_size(); in sortBlocks() 200 if (L->getHeader() == &MBB) in sortBlocks() 204 NumPredsLeft[MBB.getNumber()] = N; in sortBlocks() 231 if (R->getHeader() == MBB) in sortBlocks() 310 maybeUpdateTerminator(MBB); in sortBlocks() 327 Next->moveAfter(MBB); in sortBlocks() 328 maybeUpdateTerminator(MBB); in sortBlocks() 329 MBB = Next; in sortBlocks() [all …]
|
| H A D | WebAssemblyCFGStackify.cpp | 253 assert(!MBB.isEHPad()); in placeBlockMarker() 364 for (auto &MI : MBB) { in placeBlockMarker() 389 MachineInstr *End = BuildMI(MBB, InsertPos, MBB.findPrevDebugLoc(InsertPos), in placeBlockMarker() 435 MachineInstr *Begin = BuildMI(MBB, InsertPos, MBB.findDebugLoc(InsertPos), in placeLoopMarker() 466 assert(MBB.isEHPad()); in placeTryMarker() 701 for (auto &MBB : MF) { in removeUnnecessaryInstrs() local 702 if (!MBB.isEHPad()) in removeUnnecessaryInstrs() 755 for (auto &MBB : MF) { in removeUnnecessaryInstrs() local 1456 updateScopeTops(EHPadToTry[&MBB]->getParent(), &MBB); in recalculateScopeTops() 1540 for (auto &MBB : MF) in placeMarkers() local [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/X86/ |
| H A D | X86PreTileConfig.cpp | 62 MIRef(MachineBasicBlock *MBB) : MBB(MBB) { in MIRef() 63 for (auto I = MBB->begin(), E = MBB->end(); I != E && I->isPHI(); in MIRef() 71 : MI(MI), MBB(MBB), in MIRef() 74 : MI(MI), MBB(MBB), Pos(Pos) {} in MIRef() 77 return MI == RHS.MI && MBB == RHS.MBB; in operator ==() 83 return MBB < RHS.MBB || (MBB == RHS.MBB && Pos < RHS.Pos); in operator <() 88 return MBB > RHS.MBB || (MBB == RHS.MBB && Pos > RHS.Pos); in operator >() 213 MIRef MIR(MI, MBB); in INITIALIZE_PASS_DEPENDENCY() 268 BBVisitedInfo[&MBB].FirstAMX = MIRef(&MI, &MBB, Pos); in runOnMachineFunction() 271 BBVisitedInfo[&MBB].LastCall = MIRef(&MI, &MBB, Pos); in runOnMachineFunction() [all …]
|
| H A D | X86IndirectBranchTracking.cpp | 81 BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(EndbrOpcode)); in addENDBR() 155 auto MBB = MF.begin(); in runOnMachineFunction() local 156 Changed |= addENDBR(*MBB, MBB->begin()); in runOnMachineFunction() 159 for (auto &MBB : MF) { in runOnMachineFunction() local 162 if (MBB.hasAddressTaken()) in runOnMachineFunction() 163 Changed |= addENDBR(MBB, MBB.begin()); in runOnMachineFunction() 165 for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ++I) { in runOnMachineFunction() 176 for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); ++I) { in runOnMachineFunction() 178 if (MBB.isEHPad()) { in runOnMachineFunction() 193 } else if (MBB.isEHPad()){ in runOnMachineFunction() [all …]
|
| H A D | X86VZeroUpper.cpp | 65 void processBasicBlock(MachineBasicBlock &MBB); 67 MachineBasicBlock &MBB); 68 void addDirtySuccessor(MachineBasicBlock &MBB); 193 DirtySuccessors.push_back(&MBB); in addDirtySuccessor() 204 BlockStates[MBB.getNumber()].FirstUnguardedCall = MBB.end(); in processBasicBlock() 206 for (MachineInstr &MI : MBB) { in processBasicBlock() 257 insertVZeroUpper(MI, MBB); in processBasicBlock() 274 for (MachineBasicBlock *Succ : MBB.successors()) in processBasicBlock() 321 for (MachineBasicBlock &MBB : MF) in runOnMachineFunction() 322 processBasicBlock(MBB); in runOnMachineFunction() [all …]
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | BranchRelaxation.cpp | 138 for (auto &MBB : *MF) { in dumpBBs() 157 BlockInfo[MBB.getNumber()].Size = computeBlockSize(MBB); in scanFunction() 193 for (auto &MBB : in adjustBlockOffsets() local 195 unsigned Num = MBB.getNumber(); in adjustBlockOffsets() 326 adjustBlockOffsets(*MBB); in fixupConditionalBranch() 359 removeBranch(MBB); in fixupConditionalBranch() 384 removeBranch(MBB); in fixupConditionalBranch() 425 removeBranch(MBB); in fixupConditionalBranch() 449 if (!MBB->empty()) { in fixupUnconditionalBranch() 475 adjustBlockOffsets(*MBB); in fixupUnconditionalBranch() [all …]
|
| H A D | BranchFolding.cpp | 165 MBB->removeSuccessor(MBB->succ_end()-1); in RemoveDeadBlock() 618 if (!MBB->succ_empty() && !MBB->canFallThrough()) in ProfitableToMerge() 947 if ((MBB == EntryBB || MBB->isEHPad()) && in TryTailMergeBlocks() 1344 if (IsEmptyBlock(MBB) && !MBB->isEHPad() && !MBB->hasAddressTaken() && in OptimizeBlock() 1405 !MBB->hasAddressTaken() && !MBB->isEHPad()) { in OptimizeBlock() 1424 PrevBB.splice(PrevBB.end(), MBB, MBB->begin(), MBB->end()); in OptimizeBlock() 1570 IsBranchOnlyBlock(MBB) && CurTBB != MBB && in OptimizeBlock() 1583 MBB->erase(MBB->begin(), MBB->end()); in OptimizeBlock() 1597 PriorTBB != MBB && PriorFBB != MBB) { in OptimizeBlock() 1676 (PredTBB == MBB || PredFBB == MBB) && in OptimizeBlock() [all …]
|
| H A D | ReachingDefAnalysis.cpp | 66 if (MBB->pred_empty()) { in enterBasicBlock() 155 instructionsWithoutDebug(MBB->instr_begin(), MBB->instr_end()); in reprocessBasicBlock() 195 MachineBasicBlock *MBB = TraversedMBB.MBB; in processBasicBlock() local 206 enterBasicBlock(MBB); in processBasicBlock() 208 instructionsWithoutDebug(MBB->instr_begin(), MBB->instr_end())) in processBasicBlock() 210 leaveBasicBlock(MBB); in processBasicBlock() 311 for (auto &MI : *MBB) { in getInstFromId() 360 instructionsWithoutDebug(MBB->instr_begin(), MBB->instr_end())) { in getLiveInUses() 370 if (Last == MBB->end()) in getLiveInUses() 391 if (Visited.count(MBB) || !MBB->isLiveIn(PhysReg)) in getGlobalUses() [all …]
|
| H A D | BasicBlockSections.cpp | 138 for (auto &MBB : MF) { in updateBranches() local 148 TII->insertUnconditionalBranch(MBB, FTMBB, MBB.findBranchDebugLoc()); in updateBranches() 213 for (auto &MBB : MF) { in assignSections() local 223 MBB.setSectionID({static_cast<unsigned int>(MBB.getNumber())}); in assignSections() 225 MBB.setSectionID(FuncBBClusterInfo[MBB.getNumber()]->ClusterID); in assignSections() 232 if (MBB.isEHPad() && EHPadsSectionID != MBB.getSectionID() && in assignSections() 245 for (auto &MBB : MF) in assignSections() local 246 if (MBB.isEHPad()) in assignSections() 254 for (auto &MBB : MF) in sortBasicBlocksAndUpdateBranches() local 255 PreLayoutFallThroughs[MBB.getNumber()] = MBB.getFallThrough(); in sortBasicBlocksAndUpdateBranches() [all …]
|
| H A D | MIRCanonicalizerPass.cpp | 118 MBB->splice(getPos(), MBB, II.second); in rescheduleLexographically() 143 for (auto &MI : *MBB) { in rescheduleCanonically() 228 const auto BBE = MBB->instr_end(); in rescheduleCanonically() 260 MBB->splice(UseI, MBB, DefI); in rescheduleCanonically() 270 if (UseI == MBB->instr_end()) in rescheduleCanonically() 276 MultiUsers[E.second], MBB, in rescheduleCanonically() 340 for (auto &MI : *MBB) { in doDefKillClear() 371 MBB->dump();); in runOnBasicBlock() 384 Changed |= doDefKillClear(MBB); in runOnBasicBlock() 411 for (auto MBB in runOnMachineFunction() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AMDGPU/ |
| H A D | R600MachineCFGStructurizer.cpp | 398 bool MultiplePreds = MBB && (MBB->pred_size() > 1); in needMigrateBlock() 411 if (I == MBB.end()) in reversePredicateSetter() 438 MBB->push_back(MI); in insertInstrEnd() 448 if (!MBB->empty()) in insertInstrBefore() 449 MBB->insert(MBB->begin(), MI); in insertInstrBefore() 451 MBB->push_back(MI); in insertInstrBefore() 759 MBB = *It; in run() 940 reversePredicateSetter(MBB->end(), *MBB); in ifPatternMatch() 1315 if (MBB != TrueMBB && MBB != FalseMBB) in improveSimpleJumpintoIf() 1507 << "BB" << MBB->getNumber() << "size " << MBB->size() in cloneBlockForPredecessor() [all …]
|
| H A D | SILowerControlFlow.cpp | 185 if (MBB == End || !Visited.insert(MBB).second) in hasKill() 190 Worklist.append(MBB->succ_begin(), MBB->succ_end()); in hasKill() 452 return MBB.end(); in skipIgnoreExecInstsTrivialSucc() 464 return MBB.end(); in skipIgnoreExecInstsTrivialSucc() 694 I = MBB.end(); in process() 710 BuildMI(*MBB, MBB->begin(), MI.getDebugLoc(), in lowerInitExec() 821 MBB.clear(); in removeMBBifRedundant() 822 MBB.eraseFromParent(); in removeMBBifRedundant() 877 for (auto &MBB : MF) { in runOnMachineFunction() local 904 E = MBB->end(); in runOnMachineFunction() [all …]
|
| H A D | SILowerI1Copies.cpp | 159 if (MBB == &DefBlock) { in analyze() 203 ReachableMap[MBB] = true; in analyze() 284 DefBlock = &MBB; in initialize() 373 NextLevel.push_back(MBB); in advanceLevel() 375 Visited[MBB] = Level; in advanceLevel() 429 BuildMI(MBB, MBB.getFirstTerminator(), {}, TII->get(AMDGPU::IMPLICIT_DEF), in insertUndefLaneMask() 565 if (&MBB != PrevMBB) { in lowerPhis() 566 LF.initialize(MBB); in lowerPhis() 567 PrevMBB = &MBB; in lowerPhis() 639 SSAUpdater.AddAvailableValue(MBB, insertUndefLaneMask(*MBB)); in lowerPhis() [all …]
|
| H A D | AMDGPUSetWavePriority.cpp | 102 for (MachineBasicBlock &MBB : MF) { in runOnMachineFunction() 103 if (any_of(MBB, isVMEMLoad)) in runOnMachineFunction() 104 Worklist.push_back(&MBB); in runOnMachineFunction() 110 MBBInfo &Info = MBBInfos[MBB]; in runOnMachineFunction() 113 Worklist.append(MBB->pred_begin(), MBB->pred_end()); in runOnMachineFunction() 130 for (MachineBasicBlock &MBB : MF) { in runOnMachineFunction() 131 if (MBBInfos[&MBB].MayReachVMEMLoad) { in runOnMachineFunction() 132 if (MBB.succ_empty()) in runOnMachineFunction() 133 PriorityLoweringBlocks.insert(&MBB); in runOnMachineFunction() 151 PriorityLoweringBlocks.insert(&MBB); in runOnMachineFunction() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AArch64/ |
| H A D | AArch64SpeculationHardening.cpp | 202 FBB = MBB.getFallThrough(); in endsWithCondControlFlow() 210 assert(MBB.succ_size() == 2); in endsWithCondControlFlow() 265 if (MBB.instr_end() != MBB.instr_begin()) in instrumentControlFlow() 289 RS.enterBasicBlock(MBB); in instrumentControlFlow() 291 for (MachineBasicBlock::iterator I = MBB.begin(); I != MBB.end(); I++) { in instrumentControlFlow() 299 if (I != MBB.begin()) in instrumentControlFlow() 325 insertFullSpeculationBarrier(MBB, MBB.begin(), in instrumentControlFlow() 466 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in slhLoads() 617 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in lowerSpeculationSafeValuePseudos() 671 for (auto &MBB : MF) in runOnMachineFunction() local [all …]
|
| H A D | AArch64LowerHomogeneousPrologEpilog.cpp | 191 MF.insert(MF.begin(), MBB); in createFrameHelperMachineFunction() 299 emitStore(MF, MBB, MBB.end(), TII, Regs[Size - 2], Regs[Size - 1], in getOrCreateFrameHelper() 308 emitStore(MF, MBB, MBB.end(), TII, Regs[I - 1], Regs[I], Size - I - 1, in getOrCreateFrameHelper() 312 BuildMI(MBB, MBB.end(), DebugLoc(), TII.get(AArch64::ADDXri)) in getOrCreateFrameHelper() 319 BuildMI(MBB, MBB.end(), DebugLoc(), TII.get(AArch64::RET)) in getOrCreateFrameHelper() 327 BuildMI(MBB, MBB.end(), DebugLoc(), TII.get(AArch64::ORRXrs)) in getOrCreateFrameHelper() 334 emitLoad(MF, MBB, MBB.end(), TII, Regs[I], Regs[I + 1], Size - I - 2, in getOrCreateFrameHelper() 337 emitLoad(MF, MBB, MBB.end(), TII, Regs[Size - 2], Regs[Size - 1], Size, in getOrCreateFrameHelper() 340 BuildMI(MBB, MBB.end(), DebugLoc(), TII.get(AArch64::RET)) in getOrCreateFrameHelper() 593 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in runOnMBB() [all …]
|
| H A D | AArch64BranchTargets.cpp | 74 for (auto *MBB : JTE.MBBs) in runOnMachineFunction() local 75 JumpTableTargets.insert(MBB); in runOnMachineFunction() 78 for (MachineBasicBlock &MBB : MF) { in runOnMachineFunction() 89 if (&MBB == &*MF.begin()) in runOnMachineFunction() 94 if (MBB.hasAddressTaken() || JumpTableTargets.count(&MBB)) in runOnMachineFunction() 98 addBTI(MBB, CouldCall, CouldJump); in runOnMachineFunction() 113 MBB.getParent()->getSubtarget().getInstrInfo()); in addBTI() 122 auto MBBI = MBB.begin(); in addBTI() 125 for (; MBBI != MBB.end() && in addBTI() 132 if (MBBI != MBB.end() && HintNum == 34 && in addBTI() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVExpandPseudoInsts.cpp | 43 bool expandMBB(MachineBasicBlock &MBB); 74 for (auto &MBB : MF) in runOnMachineFunction() local 75 Modified |= expandMBB(MBB); in runOnMachineFunction() 82 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in expandMBB() 110 return expandVSetVL(MBB, MBBI); in expandMI() 140 return expandVSPILL(MBB, MBBI); in expandMI() 152 return expandVRELOAD(MBB, MBBI); in expandMI() 184 NewMBB->splice(NewMBB->end(), &MBB, std::next(MBBI), MBB.end()); in expandAuipcInstPair() 188 MBB.addSuccessor(NewMBB); in expandAuipcInstPair() 194 NextMBBI = MBB.end(); in expandAuipcInstPair() [all …]
|
| H A D | RISCVExpandAtomicPseudoInsts.cpp | 68 for (auto &MBB : MF) in runOnMachineFunction() local 69 Modified |= expandMBB(MBB); in runOnMachineFunction() 76 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in expandMBB() 359 DoneMBB->splice(DoneMBB->end(), &MBB, MI, MBB.end()); in expandAtomicBinOp() 361 MBB.addSuccessor(LoopMBB); in expandAtomicBinOp() 369 NextMBBI = MBB.end(); in expandAtomicBinOp() 418 DoneMBB->splice(DoneMBB->end(), &MBB, MI, MBB.end()); in expandAtomicMinMaxOp() 420 MBB.addSuccessor(LoopHeadMBB); in expandAtomicMinMaxOp() 499 NextMBBI = MBB.end(); in expandAtomicMinMaxOp() 531 DoneMBB->splice(DoneMBB->end(), &MBB, MI, MBB.end()); in expandAtomicCmpXchg() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/AVR/ |
| H A D | AVRExpandPseudoInsts.cpp | 58 bool expandMBB(Block &MBB); 117 BlockIt MBBI = MBB.begin(), E = MBB.end(); in expandMBB() 137 for (Block &MBB : MF) { in runOnMachineFunction() 170 buildMI(MBB, MBBI, OpLo) in expandArith() 204 buildMI(MBB, MBBI, Op) in expandLogic() 213 buildMI(MBB, MBBI, Op) in expandLogic() 496 buildMI(MBB, MBBI, OpLo) in expand() 965 RS.enterBasicBlock(MBB); in scavengeGPR8() 1324 buildMI(MBB, MBBI, OpLo) in expand() 1329 buildMI(MBB, MBBI, OpHi) in expand() [all …]
|
| H A D | AVRFrameLowering.cpp | 175 restoreStatusRegister(MF, MBB); in emitEpilogue() 180 while (MBBI != MBB.begin()) { in emitEpilogue() 214 restoreStatusRegister(MF, MBB); in emitEpilogue() 242 DebugLoc DL = MBB.findDebugLoc(MI); in spillCalleeSavedRegisters() 243 MachineFunction &MF = *MBB.getParent(); in spillCalleeSavedRegisters() 259 MBB.addLiveIn(Reg); in spillCalleeSavedRegisters() 281 DebugLoc DL = MBB.findDebugLoc(MI); in restoreCalleeSavedRegisters() 335 return MBB.erase(MI); in eliminateCallFramePseudoInstr() 343 return MBB.erase(MI); in eliminateCallFramePseudoInstr() 366 fixStackStores(MBB, MI, TII); in eliminateCallFramePseudoInstr() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/Mips/ |
| H A D | MipsSEFrameLowering.cpp | 107 for (auto &MBB : MF) { in expand() local 108 for (Iter I = MBB.begin(), End = MBB.end(); I != End;) in expand() 118 expandLoadCCond(MBB, I); in expandInstr() 121 expandStoreCCond(MBB, I); in expandInstr() 141 MBB.erase(I); in expandInstr() 145 MBB.erase(I); in expandInstr() 149 MBB.erase(I); in expandInstr() 153 MBB.erase(I); in expandInstr() 156 if (!expandCopy(MBB, I)) in expandInstr() 163 MBB.erase(I); in expandInstr() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/M68k/ |
| H A D | M68kFrameLowering.cpp | 146 if (MBBI == MBB.end()) in findDeadCallerSavedReg() 236 I = MBB.erase(I); in eliminateCallFramePseudoInstr() 264 BuildCFI(MBB, I, DL, in eliminateCallFramePseudoInstr() 279 BuildCFI(MBB, I, DL, in eliminateCallFramePseudoInstr() 310 MBB, I, DL, in eliminateCallFramePseudoInstr() 406 MBB.erase(PI); in mergeSPUpdates() 412 MBB.erase(PI); in mergeSPUpdates() 653 MBB, MBBI, DL, in emitPrologue() 681 if (MBBI != MBB.end()) in emitEpilogue() 684 if (MBBI != MBB.end()) in emitEpilogue() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/SystemZ/ |
| H A D | SystemZPostRewrite.cpp | 58 bool selectMBB(MachineBasicBlock &MBB); 92 expandCondMove(MBB, MBBI, NextMBBI); in selectLOCRMux() 165 LiveRegs.addLiveOuts(MBB); in expandCondMove() 172 RestMBB->splice(RestMBB->begin(), &MBB, MI, MBB.end()); in expandCondMove() 173 RestMBB->transferSuccessors(&MBB); in expandCondMove() 188 MBB.addSuccessor(RestMBB); in expandCondMove() 189 MBB.addSuccessor(MoveMBB); in expandCondMove() 197 NextMBBI = MBB.end(); in expandCondMove() 246 MachineBasicBlock::iterator MBBI = MBB.begin(), E = MBB.end(); in selectMBB() 260 for (auto &MBB : MF) in runOnMachineFunction() local [all …]
|