| /src/external/apache2/llvm/dist/llvm/lib/Analysis/ |
| InstructionPrecedenceTracking.cpp | 36 const BasicBlock *BB) { 43 validate(BB); 46 if (FirstSpecialInsts.find(BB) == FirstSpecialInsts.end()) { 47 fill(BB); 48 assert(FirstSpecialInsts.find(BB) != FirstSpecialInsts.end() && "Must be!"); 50 return FirstSpecialInsts[BB]; 54 const BasicBlock *BB) { 55 return getFirstSpecialInstruction(BB) != nullptr; 65 void InstructionPrecedenceTracking::fill(const BasicBlock *BB) { 66 FirstSpecialInsts.erase(BB); [all...] |
| CFG.cpp | 36 const BasicBlock *BB = &F.getEntryBlock(); 37 if (succ_empty(BB)) 44 Visited.insert(BB); 45 VisitStack.push_back(std::make_pair(BB, succ_begin(BB))); 46 InStack.insert(BB); 54 BB = *I++; 55 if (Visited.insert(BB).second) { 60 if (InStack.count(BB)) 61 Result.push_back(std::make_pair(ParentBB, BB)); [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Analysis/ |
| InstructionPrecedenceTracking.h | 37 void fill(const BasicBlock *BB); 40 /// Asserts that the cached info for \p BB is up-to-date. This helps to catch 43 void validate(const BasicBlock *BB) const; 52 /// Returns the topmost special instruction from the block \p BB. Returns 54 const Instruction *getFirstSpecialInstruction(const BasicBlock *BB); 56 /// Returns true iff at least one instruction from the basic block \p BB is 58 bool hasSpecialInstructions(const BasicBlock *BB); 75 /// Inst to the basic block \p BB. It makes all necessary updates to internal 77 void insertInstructionTo(const Instruction *Inst, const BasicBlock *BB); 103 const Instruction *getFirstICFI(const BasicBlock *BB) { [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/IR/ |
| PredIteratorCache.h | 38 /// for (BasicBlock **PI = PredCache->GetPreds(BB); *PI; ++PI) 41 /// for (pred_iterator PI = pred_begin(BB), E = pred_end(BB); PI != E; ++PI) 42 BasicBlock **GetPreds(BasicBlock *BB) { 43 BasicBlock **&Entry = BlockToPredsMap[BB]; 47 SmallVector<BasicBlock *, 32> PredCache(predecessors(BB)); 50 BlockToPredCountMap[BB] = PredCache.size() - 1; 57 unsigned GetNumPreds(BasicBlock *BB) const { 58 auto Result = BlockToPredCountMap.find(BB); 61 return BlockToPredCountMap[BB] = pred_size(BB) [all...] |
| InstIterator.h | 38 BB_i_t BB; // BasicBlocksType::iterator 54 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} 58 : BBs(II.BBs), BB(II.BB), BI(II.BI) {} 61 : BBs(&m.getBasicBlockList()), BB(BBs->begin()) { // begin ctor 62 if (BB != BBs->end()) { 63 BI = BB->begin(); 69 : BBs(&m.getBasicBlockList()), BB(BBs->end()) { // end ctor 73 inline BBIty &getBasicBlockIterator() { return BB; } [all...] |
| CFG.h | 68 explicit inline PredIterator(Ptr *bb) : It(bb->user_begin()) { 71 inline PredIterator(Ptr *bb, bool) : It(bb->user_end()) {} 111 inline pred_iterator pred_begin(BasicBlock *BB) { return pred_iterator(BB); } 112 inline const_pred_iterator pred_begin(const BasicBlock *BB) { 113 return const_pred_iterator(BB); 115 inline pred_iterator pred_end(BasicBlock *BB) { return pred_iterator(BB, true); [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/ |
| WasmEHFuncInfo.h | 39 const BasicBlock *getUnwindDest(const BasicBlock *BB) const { 40 assert(hasUnwindDest(BB)); 41 return SrcToUnwindDest.lookup(BB).get<const BasicBlock *>(); 43 SmallPtrSet<const BasicBlock *, 4> getUnwindSrcs(const BasicBlock *BB) const { 44 assert(hasUnwindSrcs(BB)); 45 const auto &Set = UnwindDestToSrcs.lookup(BB); 51 void setUnwindDest(const BasicBlock *BB, const BasicBlock *Dest) { 52 SrcToUnwindDest[BB] = Dest; 55 UnwindDestToSrcs[Dest].insert(BB); 57 bool hasUnwindDest(const BasicBlock *BB) const [all...] |
| /src/external/apache2/llvm/dist/llvm/tools/llvm-reduce/deltas/ |
| ReduceBasicBlocks.cpp | 26 /// Replaces BB Terminator with one that only contains Chunk BBs 27 static void replaceBranchTerminator(BasicBlock &BB, 29 auto *Term = BB.getTerminator(); 31 for (auto *Succ : successors(&BB)) 35 // BB only references Chunk BBs 48 auto *FnRetTy = BB.getParent()->getReturnType(); 49 ReturnInst::Create(BB.getContext(), 51 &BB); 56 BranchInst::Create(ChunkSucessors[0], &BB); 60 IndirectBrInst::Create(Address, ChunkSucessors.size(), &BB); [all...] |
| ReduceInstructions.cpp | 27 for (auto &BB : F) { 30 InstToKeep.insert(BB.getTerminator()); 31 for (auto &Inst : make_range(BB.begin(), std::prev(BB.end()))) 38 for (auto &BB : F) 39 for (auto &Inst : BB) 55 for (auto &BB : F) 57 InstCount += BB.getInstList().size() - 1;
|
| /src/external/apache2/llvm/dist/llvm/examples/IRTransforms/ |
| SimplifyCFG.cpp | 67 for (BasicBlock &BB : make_early_inc_range(F)) { 71 if (&F.getEntryBlock() == &BB || !pred_empty(&BB)) 74 // Notify successors of BB that BB is going to be removed. This removes 75 // incoming values from BB from PHIs in the successors. Note that this will 76 // not actually remove BB from the predecessor lists of its successors. 77 for (BasicBlock *Succ : successors(&BB)) 78 Succ->removePredecessor(&BB); 82 // PN.removeIncomingValue(&BB); [all...] |
| /src/external/apache2/llvm/dist/llvm/include/llvm/Transforms/Scalar/ |
| JumpThreading.h | 115 bool processBlock(BasicBlock *BB); 116 bool maybeMergeBasicBlockIntoOnlyPred(BasicBlock *BB); 117 void updateSSA(BasicBlock *BB, BasicBlock *NewBB, 123 bool tryThreadEdge(BasicBlock *BB, 126 void threadEdge(BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs, 129 BasicBlock *BB, const SmallVectorImpl<BasicBlock *> &PredBBs); 132 Value *V, BasicBlock *BB, jumpthreading::PredValueInfo &Result, 136 computeValueKnownInPredecessors(Value *V, BasicBlock *BB, 141 return computeValueKnownInPredecessorsImpl(V, BB, Result, Preference, 145 Constant *evaluateOnPredecessorEdge(BasicBlock *BB, BasicBlock *PredPredBB [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Scalar/ |
| ADCE.cpp | 105 BasicBlock *BB = nullptr; 107 /// Cache of BB->getTerminator(). 127 bool isLive(BasicBlock *BB) { return BlockInfo[BB].Live; } 165 void markLive(BlockInfoType &BB); 166 void markLive(BasicBlock *BB) { markLive(BlockInfo[BB]); } 193 void makeUnconditional(BasicBlock *BB, BasicBlock *Target); 226 for (auto &BB : F) { 227 NumInsts += BB.size() [all...] |
| JumpThreading.cpp | 200 // [Block BB] 222 static void updatePredecessorProfileMetadata(PHINode *PN, BasicBlock *BB) { 223 BranchInst *CondBr = dyn_cast<BranchInst>(BB->getTerminator()); 277 auto PredOutEdge = GetPredOutEdge(PN->getIncomingBlock(i), BB); 417 for (auto &BB : F) 418 if (!DT.isReachableFromEntry(&BB)) 419 Unreachable.insert(&BB); 428 for (auto &BB : F) { 429 if (Unreachable.count(&BB)) 431 while (processBlock(&BB)) // Thread all of the branches we can over BB [all...] |
| LoopSimplifyCFG.cpp | 56 /// If \p BB is a switch or a conditional branch, but only one of its successors 59 static BasicBlock *getOnlyLiveSuccessor(BasicBlock *BB) { 60 Instruction *TI = BB->getTerminator(); 85 /// Removes \p BB from all loops from [FirstLoop, LastLoop) in parent chain. 86 static void removeBlockFromLoops(BasicBlock *BB, Loop *FirstLoop, 90 assert(FirstLoop->contains(BB) && "Must be a loop block!"); 93 Current->removeBlockFromLoop(BB); 101 for (BasicBlock *BB : BBs) { 102 Loop *BBL = LI.getLoopFor(BB); 169 for (const BasicBlock *BB : S [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/CodeGen/ |
| UnreachableBlockElim.cpp | 111 for (MachineBasicBlock *BB : depth_first_ext(&F, Reachable)) 112 (void)BB/* Mark all reachable blocks */; 117 for (MachineBasicBlock &BB : F) { 119 if (!Reachable.count(&BB)) { 120 DeadBlocks.push_back(&BB); 123 if (MLI) MLI->removeBlock(&BB); 124 if (MDT && MDT->getNode(&BB)) MDT->eraseNode(&BB); 126 while (BB.succ_begin() != BB.succ_end()) [all...] |
| MachineSSAUpdater.cpp | 69 bool MachineSSAUpdater::HasValueForBlock(MachineBasicBlock *BB) const { 70 return getAvailableVals(AV).count(BB); 75 void MachineSSAUpdater::AddAvailableValue(MachineBasicBlock *BB, Register V) { 76 getAvailableVals(AV)[BB] = V; 81 Register MachineSSAUpdater::GetValueAtEndOfBlock(MachineBasicBlock *BB) { 82 return GetValueAtEndOfBlockInternal(BB); 86 Register LookForIdenticalPHI(MachineBasicBlock *BB, 88 if (BB->empty()) 91 MachineBasicBlock::iterator I = BB->begin(); 98 while (I != BB->end() && I->isPHI()) [all...] |
| WasmEHPrepare.cpp | 121 void prepareEHPad(BasicBlock *BB, bool NeedPersonality, unsigned Index = 0); 159 // Erase the specified BBs if the BB does not have any remaining predecessors, 165 auto *BB = WL.pop_back_val(); 166 if (!pred_empty(BB)) 168 WL.append(succ_begin(BB), succ_end(BB)); 169 DeleteDeadBlock(BB, DTU); 191 // delete all following instructions within the BB, and delete all the dead 192 // children of the BB as well. 200 auto *BB = ThrowI->getParent() [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/Mips/ |
| Mips16ISelLowering.h | 54 MachineBasicBlock *BB) const; 58 MachineBasicBlock *BB) const; 62 MachineBasicBlock *BB) const; 66 MachineBasicBlock *BB) const; 71 MachineBasicBlock *BB) const; 74 MachineBasicBlock *BB) const; 78 MachineBasicBlock *BB) const;
|
| Mips16ISelLowering.cpp | 165 MachineBasicBlock *BB) const { 168 return MipsTargetLowering::EmitInstrWithCustomInserter(MI, BB); 170 return emitSel16(Mips::BeqzRxImm16, MI, BB); 172 return emitSel16(Mips::BnezRxImm16, MI, BB); 174 return emitSeliT16(Mips::Bteqz16, Mips::CmpiRxImmX16, MI, BB); 176 return emitSeliT16(Mips::Bteqz16, Mips::SltiRxImmX16, MI, BB); 178 return emitSeliT16(Mips::Bteqz16, Mips::SltiuRxImmX16, MI, BB); 180 return emitSeliT16(Mips::Btnez16, Mips::CmpiRxImmX16, MI, BB); 182 return emitSeliT16(Mips::Btnez16, Mips::SltiRxImmX16, MI, BB); 184 return emitSeliT16(Mips::Btnez16, Mips::SltiuRxImmX16, MI, BB); [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/ |
| AMDGPUUnifyDivergentExitNodes.cpp | 115 /// \returns true if \p BB is reachable through only uniform branches. 118 BasicBlock &BB) { 119 SmallVector<BasicBlock *, 8> Stack(predecessors(&BB)); 138 for (BasicBlock &BB : F) { 139 for (Instruction &I : BB) { 192 for (BasicBlock *BB : ReturningBlocks) { 196 PN->addIncoming(BB->getTerminator()->getOperand(0), BB); 199 BB->getTerminator()->eraseFromParent(); 200 BranchInst::Create(NewRetBlock, BB); [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/Utils/ |
| InstructionNamer.cpp | 33 for (BasicBlock &BB : F) { 34 if (!BB.hasName()) 35 BB.setName("bb"); 37 for (Instruction &I : BB) {
|
| /src/external/apache2/llvm/dist/llvm/include/llvm/FuzzMutate/ |
| RandomIRBuilder.h | 37 Value *findOrCreateSource(BasicBlock &BB, ArrayRef<Instruction *> Insts); 43 Value *findOrCreateSource(BasicBlock &BB, ArrayRef<Instruction *> Insts, 46 Value *newSource(BasicBlock &BB, ArrayRef<Instruction *> Insts, 49 /// \c BB. This may also create some new instruction in \c BB and use that. 50 void connectToSink(BasicBlock &BB, ArrayRef<Instruction *> Insts, Value *V); 51 /// Create a user for \c V in \c BB. 52 void newSink(BasicBlock &BB, ArrayRef<Instruction *> Insts, Value *V); 53 Value *findPointer(BasicBlock &BB, ArrayRef<Instruction *> Insts,
|
| /src/external/apache2/llvm/dist/llvm/tools/llvm-c-test/ |
| attributes.c | 56 LLVMBasicBlockRef BB; 57 for (BB = LLVMGetFirstBasicBlock(F); BB; BB = LLVMGetNextBasicBlock(BB)) { 59 for (I = LLVMGetFirstInstruction(BB); I; I = LLVMGetNextInstruction(I)) {
|
| /src/external/apache2/llvm/dist/llvm/lib/Transforms/IPO/ |
| PruneEH.cpp | 54 static void DeleteBasicBlock(BasicBlock *BB, CallGraphUpdater &CGU); 103 for (const BasicBlock &BB : *F) { 104 const Instruction *TI = BB.getTerminator(); 111 for (const Instruction &I : BB) { 186 for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB) { 187 if (InvokeInst *II = dyn_cast<InvokeInst>(BB->getTerminator())) 190 removeUnwindEdge(&*BB); 194 DeleteBasicBlock(UnwindBlock, CGU); // Delete the new BB [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/FuzzMutate/ |
| RandomIRBuilder.cpp | 21 Value *RandomIRBuilder::findOrCreateSource(BasicBlock &BB, 23 return findOrCreateSource(BB, Insts, {}, anyType()); 26 Value *RandomIRBuilder::findOrCreateSource(BasicBlock &BB, 38 return newSource(BB, Insts, Srcs, Pred); 41 Value *RandomIRBuilder::newSource(BasicBlock &BB, ArrayRef<Instruction *> Insts, 48 Value *Ptr = findPointer(BB, Insts, Srcs, Pred); 51 auto IP = BB.getFirstInsertionPt(); 54 assert(IP != BB.end() && "guaranteed by the findPointer"); 95 void RandomIRBuilder::connectToSink(BasicBlock &BB, 117 newSink(BB, Insts, V) [all...] |