HomeSort by: relevance | last modified time | path
    Searched refs:BB (Results 1 - 25 of 701) sorted by relevancy

1 2 3 4 5 6 7 8 91011>>

  /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...]

Completed in 57 milliseconds

1 2 3 4 5 6 7 8 91011>>