/external/llvm/lib/CodeGen/ |
ShrinkWrapping.cpp | 126 bool PEI::isReturnBlock(MachineBasicBlock* MBB) { 127 return (MBB && !MBB->empty() && MBB->back().isReturn()); 197 /// for the given MBB by looking forward in the MCFG at MBB's 200 bool PEI::calcAnticInOut(MachineBasicBlock* MBB) { 203 // AnticOut[MBB] = INTERSECT(AnticIn[S] for S in SUCCESSORS(MBB)) 205 for (MachineBasicBlock::succ_iterator SI = MBB->succ_begin() [all...] |
PHIEliminationUtils.cpp | 17 // findCopyInsertPoint - Find a safe place in MBB to insert a copy from SrcReg 22 llvm::findPHICopyInsertPoint(MachineBasicBlock* MBB, MachineBasicBlock* SuccMBB, 25 if (MBB->empty()) 26 return MBB->begin(); 32 return MBB->getFirstTerminator(); 36 MachineRegisterInfo& MRI = MBB->getParent()->getRegInfo(); 40 if (DefUseMI->getParent() == MBB) 47 InsertPoint = MBB->begin(); 54 InsertPoint = MBB->end(); 60 return MBB->SkipPHIsAndLabels(InsertPoint) [all...] |
MachineVerifier.cpp | 100 // Is this MBB reachable from the MF entry point? 107 // Regs killed in MBB. They may be defined again, and will then be in both 111 // Regs defined in MBB and live out. Note that vregs passing through may 115 // Vregs that pass through MBB untouched. This set is disjoint from 119 // Vregs that must pass through MBB because they are needed by a successor 181 // Extra register info per MBB. 199 void visitMachineBasicBlockBefore(const MachineBasicBlock *MBB); 205 void visitMachineBasicBlockAfter(const MachineBasicBlock *MBB); 209 void report(const char *msg, const MachineBasicBlock *MBB); 214 void report(const char *msg, const MachineBasicBlock *MBB, [all...] |
BranchFolding.h | 43 void setBlock(MachineBasicBlock *MBB) { 44 Block = MBB; 79 void setBlock(MachineBasicBlock *MBB) { 80 getMergePotentialsElt().setBlock(MBB); 116 bool OptimizeBlock(MachineBasicBlock *MBB); 117 void RemoveDeadBlock(MachineBasicBlock *MBB); 118 bool OptimizeImpDefsBlock(MachineBasicBlock *MBB); 121 bool HoistCommonCodeInSuccs(MachineBasicBlock *MBB);
|
BranchFolding.cpp | 11 // directly to the target block. This pass often results in dead MBB's, which 106 void BranchFolder::RemoveDeadBlock(MachineBasicBlock *MBB) { 107 assert(MBB->pred_empty() && "MBB must be dead!"); 108 DEBUG(dbgs() << "\nRemoving MBB: " << *MBB); 110 MachineFunction *MF = MBB->getParent(); 112 while (!MBB->succ_empty()) 113 MBB->removeSuccessor(MBB->succ_end()-1) [all...] |
MachineBranchProbabilityInfo.cpp | 32 getSumForBlock(const MachineBasicBlock *MBB, uint32_t &Scale) const { 36 assert(MBB->succ_size() < UINT32_MAX); 39 for (MachineBasicBlock::const_succ_iterator I = MBB->succ_begin(), 40 E = MBB->succ_end(); I != E; ++I) { 41 uint32_t Weight = getEdgeWeight(MBB, I); 54 for (MachineBasicBlock::const_succ_iterator I = MBB->succ_begin(), 55 E = MBB->succ_end(); I != E; ++I) { 56 uint32_t Weight = getEdgeWeight(MBB, I); 88 MachineBranchProbabilityInfo::getHotSucc(MachineBasicBlock *MBB) const { 91 for (MachineBasicBlock::const_succ_iterator I = MBB->succ_begin() [all...] |
/external/llvm/lib/Target/R600/ |
SILowerControlFlow.cpp | 117 for (MachineBasicBlock *MBB = From; MBB != To && !MBB->succ_empty(); 118 MBB = *MBB->succ_begin()) { 120 for (MachineBasicBlock::iterator I = MBB->begin(), E = MBB->end(); 145 MachineBasicBlock &MBB = *MI.getParent(); 148 if (!shouldSkip(&MBB, &MBB.getParent()->back()) [all...] |
AMDILCFGStructurizer.cpp | 206 int getSCCNum(MachineBasicBlock *MBB) const; 208 bool hasBackEdge(MachineBasicBlock *MBB) const; 210 bool isRetiredBlock(MachineBasicBlock *MBB) const; 211 bool isActiveLoophead(MachineBasicBlock *MBB) const; 216 bool needMigrateBlock(MachineBasicBlock *MBB) const; 224 void insertInstrEnd(MachineBasicBlock *MBB, int NewOpcode, 226 MachineInstr *insertInstrBefore(MachineBasicBlock *MBB, int NewOpcode, 231 void insertCondBranchBefore(MachineBasicBlock *MBB, 234 void insertCondBranchEnd(MachineBasicBlock *MBB, int NewOpcode, int RegNum); 240 static void setTrueBranch(MachineInstr *MI, MachineBasicBlock *MBB); [all...] |
R600ControlFlowFinalizer.cpp | 147 MakeFetchClause(MachineBasicBlock &MBB, MachineBasicBlock::iterator &I) 154 for (MachineBasicBlock::iterator E = MBB.end(); I != E; ++I) { 167 MachineInstr *MIb = BuildMI(MBB, ClauseHead, MBB.findDebugLoc(ClauseHead), 203 MachineBasicBlock *MBB = InsertPos->getParent(); 207 InsertPos = BuildMI(MBB, InsertPos->getDebugLoc(), 216 MakeALUClause(MachineBasicBlock &MBB, MachineBasicBlock::iterator &I) 221 for (MachineBasicBlock::instr_iterator E = MBB.instr_end(); I != E;) { 252 MachineInstr *MILit = BuildMI(MBB, I, I->getDebugLoc(), 338 MachineBasicBlock &MBB = *MB [all...] |
AMDGPUIndirectAddressing.cpp | 85 MachineBasicBlock &MBB = *BB; 87 for (MachineBasicBlock::iterator I = MBB.begin(), Next = llvm::next(I); 88 I != MBB.end(); I = Next) { 108 BuildMI(MBB, I, MBB.findDebugLoc(I), TII->get(AMDGPU::COPY), DstReg) 131 for (MachineBasicBlock::succ_iterator Succ = MBB.succ_begin(), 132 SuccEnd = MBB.succ_end(); 147 MachineBasicBlock &MBB = *BB; 149 MachineBasicBlock::livein_iterator LI = MBB.livein_begin(); 150 while (LI != MBB.livein_end()) [all...] |
/external/llvm/lib/Target/X86/ |
X86PadShortFunction.cpp | 61 void findReturns(MachineBasicBlock *MBB, 64 bool cyclesUntilReturn(MachineBasicBlock *MBB, 67 void addPadding(MachineBasicBlock *MBB, 112 MachineBasicBlock *MBB; 118 MBB = I->first; 124 assert(MBB->size() > 0 && 126 MachineBasicBlock::iterator ReturnLoc = --MBB->end(); 133 addPadding(MBB, ReturnLoc, Threshold - Cycles); 142 /// findReturn - Starting at MBB, follow control flow and add all 144 void PadShortFunc::findReturns(MachineBasicBlock *MBB, unsigned int Cycles) [all...] |
/external/llvm/lib/Target/Hexagon/ |
HexagonFixupHwLoops.cpp | 109 for (MachineFunction::iterator MBB = MF.begin(), MBBe = MF.end(); 110 MBB != MBBe; ++MBB) { 111 BlockToInstOffset[MBB] = InstOffset; 112 InstOffset += (MBB->size() * 4); 122 for (MachineFunction::iterator MBB = MF.begin(), MBBe = MF.end(); 123 MBB != MBBe; ++MBB) { 124 InstOffset = BlockToInstOffset[MBB]; 125 RS.enterBasicBlock(MBB); [all...] |
HexagonSplitConst32AndConst64.cpp | 77 MachineBasicBlock* MBB = MBBb; 79 MachineBasicBlock::iterator MII = MBB->begin(); 80 MachineBasicBlock::iterator MIE = MBB->end (); 88 BuildMI (*MBB, MII, MI->getDebugLoc(), 90 BuildMI (*MBB, MII, MI->getDebugLoc(), 92 // MBB->erase returns the iterator to the next instruction, which is the 94 MII = MBB->erase (MI); 101 BuildMI (*MBB, MII, MI->getDebugLoc(), 103 BuildMI (*MBB, MII, MI->getDebugLoc(), 105 // MBB->erase returns the iterator to the next instruction, which is th [all...] |
HexagonFrameLowering.cpp | 77 MachineBasicBlock &MBB = MF.front(); 79 MachineBasicBlock::iterator MBBI = MBB.begin(); 82 DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc(); 90 MachineBasicBlock::iterator InsertPt = MBB.begin(); 122 BuildMI(MBB, InsertPt, dl, TII.get(Hexagon::ALLOCFRAME)).addImm(0); 125 BuildMI(MBB, InsertPt, dl, TII.get(Hexagon::CONST32_Int_Real), 127 BuildMI(MBB, InsertPt, dl, TII.get(Hexagon::SUB_rr), 132 BuildMI(MBB, InsertPt, dl, TII.get(Hexagon::ALLOCFRAME)).addImm(NumBytes); 136 // Returns true if MBB has a machine instructions that indicates a tail call 138 bool HexagonFrameLowering::hasTailCall(MachineBasicBlock &MBB) const [all...] |
HexagonFrameLowering.h | 32 void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const; 34 spillCalleeSavedRegisters(MachineBasicBlock &MBB, 40 MachineBasicBlock &MBB, 44 restoreCalleeSavedRegisters(MachineBasicBlock &MBB, 50 bool hasTailCall(MachineBasicBlock &MBB) const;
|
/external/llvm/lib/Target/Sparc/ |
SparcInstrInfo.cpp | 119 bool SparcInstrInfo::AnalyzeBranch(MachineBasicBlock &MBB, 126 MachineBasicBlock::iterator I = MBB.end(); 127 MachineBasicBlock::iterator UnCondBrIter = MBB.end(); 128 while (I != MBB.begin()) { 151 while (llvm::next(I) != MBB.end()) 157 if (MBB.isLayoutSuccessor(I->getOperand(0).getMBB())) { 160 I = MBB.end(); 161 UnCondBrIter = MBB.end(); 177 if (AllowModify && UnCondBrIter != MBB.end() && 178 MBB.isLayoutSuccessor(TargetBB)) [all...] |
/external/llvm/lib/Target/MSP430/ |
MSP430FrameLowering.cpp | 42 MachineBasicBlock &MBB = MF.front(); // Prolog goes in entry BB 48 MachineBasicBlock::iterator MBBI = MBB.begin(); 49 DebugLoc DL = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc(); 66 BuildMI(MBB, MBBI, DL, TII.get(MSP430::PUSH16r)) 70 BuildMI(MBB, MBBI, DL, TII.get(MSP430::MOV16rr), MSP430::FPW) 82 while (MBBI != MBB.end() && (MBBI->getOpcode() == MSP430::PUSH16r)) 85 if (MBBI != MBB.end()) 91 //NumBytes -= mergeSPUpdates(MBB, MBBI, true); 94 // mergeSPUpdatesDown(MBB, MBBI, &NumBytes); 98 BuildMI(MBB, MBBI, DL, TII.get(MSP430::SUB16ri), MSP430::SPW [all...] |
MSP430InstrInfo.cpp | 34 void MSP430InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB, 40 if (MI != MBB.end()) DL = MI->getDebugLoc(); 41 MachineFunction &MF = *MBB.getParent(); 51 BuildMI(MBB, MI, DL, get(MSP430::MOV16mr)) 55 BuildMI(MBB, MI, DL, get(MSP430::MOV8mr)) 62 void MSP430InstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB, 68 if (MI != MBB.end()) DL = MI->getDebugLoc(); 69 MachineFunction &MF = *MBB.getParent(); 79 BuildMI(MBB, MI, DL, get(MSP430::MOV16rm)) 82 BuildMI(MBB, MI, DL, get(MSP430::MOV8rm) [all...] |
/external/llvm/lib/Target/ARM/ |
Thumb1FrameLowering.cpp | 37 emitSPUpdate(MachineBasicBlock &MBB, 42 emitThumbRegPlusImmediate(MBB, MBBI, dl, ARM::SP, ARM::SP, NumBytes, TII, 48 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 71 emitSPUpdate(MBB, I, TII, dl, *RegInfo, -Amount); 74 emitSPUpdate(MBB, I, TII, dl, *RegInfo, Amount); 78 MBB.erase(I); 82 MachineBasicBlock &MBB = MF.front(); 83 MachineBasicBlock::iterator MBBI = MBB.begin(); 95 DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc(); 109 emitSPUpdate(MBB, MBBI, TII, dl, *RegInfo, -ArgRegsSaveSize [all...] |
/external/llvm/lib/Target/XCore/ |
XCoreFrameLowering.cpp | 45 static void loadFromStack(MachineBasicBlock &MBB, 55 BuildMI(MBB, I, dl, TII.get(Opcode), DstReg) 60 static void storeToStack(MachineBasicBlock &MBB, 70 BuildMI(MBB, I, dl, TII.get(Opcode)) 91 MachineBasicBlock &MBB = MF.front(); // Prolog goes in entry BB 92 MachineBasicBlock::iterator MBBI = MBB.begin(); 98 DebugLoc dl = MBBI != MBB.end() ? MBBI->getDebugLoc() : DebugLoc(); 104 loadFromStack(MBB, MBBI, XCore::R11, 0, dl, TII); 125 MBB.addLiveIn(XCore::LR); 130 BuildMI(MBB, MBBI, dl, TII.get(Opcode)).addImm(FrameSize) [all...] |
/external/llvm/lib/Target/PowerPC/ |
PPCBranchSelector.cpp | 71 // Measure each MBB and compute a size for the entire function. 75 MachineBasicBlock *MBB = MFI; 78 for (MachineBasicBlock::iterator MBBI = MBB->begin(), EE = MBB->end(); 82 BlockSizes[MBB->getNumber()] = BlockSize; 98 // bCC MBB 101 // b MBB 111 MachineBasicBlock &MBB = *MFI; 113 for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end() [all...] |
/external/llvm/lib/Target/Mips/ |
Mips16InstrInfo.cpp | 68 void Mips16InstrInfo::copyPhysReg(MachineBasicBlock &MBB, 91 MachineInstrBuilder MIB = BuildMI(MBB, I, DL, get(Opc)); 101 storeRegToStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, 106 if (I != MBB.end()) DL = I->getDebugLoc(); 107 MachineMemOperand *MMO = GetMemOperand(MBB, FI, MachineMemOperand::MOStore); 112 BuildMI(MBB, I, DL, get(Opc)).addReg(SrcReg, getKillRegState(isKill)). 118 loadRegFromStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, 122 if (I != MBB.end()) DL = I->getDebugLoc(); 123 MachineMemOperand *MMO = GetMemOperand(MBB, FI, MachineMemOperand::MOLoad); 129 BuildMI(MBB, I, DL, get(Opc), DestReg).addFrameIndex(FI).addImm(Offset [all...] |
MipsSEFrameLowering.cpp | 42 bool expandInstr(MachineBasicBlock &MBB, Iter I); 43 void expandLoadCCond(MachineBasicBlock &MBB, Iter I); 44 void expandStoreCCond(MachineBasicBlock &MBB, Iter I); 45 void expandLoadACC(MachineBasicBlock &MBB, Iter I, unsigned RegSize); 46 void expandStoreACC(MachineBasicBlock &MBB, Iter I, unsigned RegSize); 47 bool expandCopy(MachineBasicBlock &MBB, Iter I); 48 bool expandCopyACC(MachineBasicBlock &MBB, Iter I, unsigned Dst, 70 bool ExpandPseudo::expandInstr(MachineBasicBlock &MBB, Iter I) { 74 expandLoadCCond(MBB, I); 78 expandStoreCCond(MBB, I) [all...] |
/external/llvm/lib/Target/NVPTX/ |
NVPTXFrameLowering.cpp | 33 MachineBasicBlock &MBB = MF.front(); 35 MachineBasicBlock::iterator MBBI = MBB.begin(); 47 MBB, MBBI, dl, tm.getInstrInfo()->get(NVPTX::cvta_local_yes_64), 49 BuildMI(MBB, MI, dl, tm.getInstrInfo()->get(NVPTX::MOV_DEPOT_ADDR_64), 54 MBB, MBBI, dl, tm.getInstrInfo()->get(NVPTX::cvta_local_yes), 56 BuildMI(MBB, MI, dl, tm.getInstrInfo()->get(NVPTX::MOV_DEPOT_ADDR), 63 MachineBasicBlock &MBB) const {} 68 MachineFunction &MF, MachineBasicBlock &MBB, 72 MBB.erase(I);
|
NVPTXInstrInfo.cpp | 33 MachineBasicBlock &MBB, MachineBasicBlock::iterator I, DebugLoc DL, 35 const MachineRegisterInfo &MRI = MBB.getParent()->getRegInfo(); 43 BuildMI(MBB, I, DL, get(NVPTX::IMOV32rr), DestReg) 46 BuildMI(MBB, I, DL, get(NVPTX::IMOV1rr), DestReg) 49 BuildMI(MBB, I, DL, get(NVPTX::FMOV32rr), DestReg) 52 BuildMI(MBB, I, DL, get(NVPTX::IMOV16rr), DestReg) 55 BuildMI(MBB, I, DL, get(NVPTX::IMOV64rr), DestReg) 58 BuildMI(MBB, I, DL, get(NVPTX::FMOV64rr), DestReg) 144 /// AnalyzeBranch - Analyze the branching code at the end of MBB, returning 168 MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB [all...] |