/external/llvm/lib/Transforms/InstCombine/ |
InstCombineWorklist.h | 1 //===- InstCombineWorklist.h - Worklist for InstCombine pass ----*- C++ -*-===// 24 /// InstCombineWorklist - This is the worklist management logic for 27 SmallVector<Instruction*, 256> Worklist; 35 bool isEmpty() const { return Worklist.empty(); } 37 /// Add - Add the specified instruction to the worklist if it isn't already 40 if (WorklistMap.insert(std::make_pair(I, Worklist.size())).second) { 42 Worklist.push_back(I); 52 /// which should only be done when the worklist is empty and when the group 55 assert(Worklist.empty() && "Worklist must be empty to add initial group") [all...] |
InstCombine.h | 70 /// to the instcombine worklist. 73 InstCombineWorklist &Worklist; 76 InstCombineIRInserter(InstCombineWorklist &WL) : Worklist(WL) {} 81 Worklist.Add(I); 96 /// Worklist - All of the instructions that need to be simplified. 97 InstCombineWorklist Worklist; 100 /// instructions into the worklist when they are created. 257 // in the program. Add the new instruction to the worklist. 264 Worklist.Add(New); 278 // we add all uses of I to the worklist, replace all uses of I with the ne [all...] |
InstructionCombining.cpp | 20 // This is a simple worklist driven algorithm. [all...] |
/external/llvm/lib/Analysis/ |
CFG.cpp | 129 static bool isPotentiallyReachableInner(SmallVectorImpl<BasicBlock *> &Worklist, 143 BasicBlock *BB = Worklist.pop_back_val(); 163 Outer->getExitBlocks(Worklist); 165 Worklist.append(succ_begin(BB), succ_end(BB)); 167 } while (!Worklist.empty()); 179 SmallVector<BasicBlock*, 32> Worklist; 180 Worklist.push_back(const_cast<BasicBlock*>(A)); 182 return isPotentiallyReachableInner(Worklist, const_cast<BasicBlock*>(B), 191 SmallVector<BasicBlock*, 32> Worklist; 218 Worklist.append(succ_begin(BB), succ_end(BB)) [all...] |
PtrUseVisitor.cpp | 25 Worklist.push_back(std::move(NewU));
|
CaptureTracking.cpp | 84 SmallVector<const Use *, Threshold> Worklist; 96 Worklist.push_back(&U); 99 while (!Worklist.empty()) { 100 const Use *U = Worklist.pop_back_val(); 157 Worklist.push_back(&UU);
|
LazyCallGraph.cpp | 24 SmallVectorImpl<Constant *> &Worklist, SmallPtrSetImpl<Constant *> &Visited, 27 while (!Worklist.empty()) { 28 Constant *C = Worklist.pop_back_val(); 52 Worklist.push_back(cast<Constant>(Op)); 61 SmallVector<Constant *, 16> Worklist; 64 // instructions and add every operand which is a constant to the worklist. 70 Worklist.push_back(C); 75 findCallees(Worklist, Visited, Callees, CalleeIndexMap); 112 SmallVector<Constant *, 16> Worklist; 117 Worklist.push_back(GV.getInitializer()) [all...] |
BasicAliasAnalysis.cpp | 605 SmallVector<const Value *, 16> Worklist; 606 Worklist.push_back(Loc.Ptr); 608 const Value *V = GetUnderlyingObject(Worklist.pop_back_val(), DL); 632 Worklist.push_back(SI->getTrueValue()); 633 Worklist.push_back(SI->getFalseValue()); 646 Worklist.push_back(PN->getIncomingValue(i)); 654 } while (!Worklist.empty() && --MaxLookup); 657 return Worklist.empty(); [all...] |
/external/llvm/lib/MC/MCAnalysis/ |
MCObjectDisassembler.cpp | 267 SmallSetVector<BBInfo*, 16> Worklist; 268 Worklist.insert(&BBI); 269 for (size_t wi = 0; wi < Worklist.size(); ++wi) { 270 BBInfo *BBI = Worklist[wi]; 274 // Add all predecessors and successors to the worklist. 277 Worklist.insert(*SI); 280 Worklist.insert(*PI); 284 for (size_t wi = 0; wi < Worklist.size(); ++wi) { 285 BBInfo *BBI = Worklist[wi]; 303 // start with the wanted address, insert it in the worklist [all...] |
/external/llvm/lib/Transforms/ObjCARC/ |
ProvenanceAnalysis.cpp | 77 SmallVector<const Value *, 8> Worklist; 78 Worklist.push_back(P); 81 P = Worklist.pop_back_val(); 98 Worklist.push_back(Ur); 100 } while (!Worklist.empty());
|
DependencyAnalysis.cpp | 214 SmallVector<std::pair<BasicBlock *, BasicBlock::iterator>, 4> Worklist; 215 Worklist.push_back(std::make_pair(StartBB, StartPos)); 218 Worklist.pop_back_val(); 229 // Add the predecessors to the worklist. 233 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); 244 } while (!Worklist.empty());
|
ObjCARCOpts.cpp | 182 SmallVector<const Value *, 4> Worklist; 183 Worklist.push_back(V); 185 const Value *P = Worklist.pop_back_val(); 195 Worklist.push_back(SI->getTrueValue()); 196 Worklist.push_back(SI->getFalseValue()); 202 Worklist.push_back(PN->getIncomingValue(i)); 205 } while (!Worklist.empty()); [all...] |
/external/llvm/lib/Transforms/Scalar/ |
LoopUnswitch.cpp | 206 void SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L); [all...] |
TailRecursionElimination.cpp | 173 SmallVector<Use *, 32> Worklist; 180 Worklist.push_back(&U); 186 while (!Worklist.empty()) { 187 Use *U = Worklist.pop_back_val(); [all...] |
/external/llvm/lib/Target/R600/ |
SIInstrInfo.h | 41 unsigned split64BitImm(SmallVectorImpl<MachineInstr *> &Worklist, 47 void splitScalar64BitUnaryOp(SmallVectorImpl<MachineInstr *> &Worklist, 50 void splitScalar64BitBinaryOp(SmallVectorImpl<MachineInstr *> &Worklist, 53 void splitScalar64BitBCNT(SmallVectorImpl<MachineInstr *> &Worklist,
|
SIInstrInfo.cpp | 826 unsigned SIInstrInfo::split64BitImm(SmallVectorImpl<MachineInstr *> &Worklist, 850 Worklist.push_back(Lo); 851 Worklist.push_back(Hi); [all...] |
/external/llvm/include/llvm/Support/ |
GenericDomTreeConstruction.h | 57 typename GraphT::ChildIteratorType>, 32> Worklist; 58 Worklist.push_back(std::make_pair(V, GraphT::child_begin(V))); 59 while (!Worklist.empty()) { 60 typename GraphT::NodeType* BB = Worklist.back().first; 61 typename GraphT::ChildIteratorType NextSucc = Worklist.back().second; 83 // If we are done with this block, remove it from the worklist. 85 Worklist.pop_back(); 90 ++Worklist.back().second; 99 Worklist.push_back(std::make_pair(Succ, GraphT::child_begin(Succ)));
|
/external/llvm/include/llvm/Analysis/ |
PtrUseVisitor.h | 115 /// This is used to maintain a worklist fo to-visit uses. This is used to 123 /// \brief The worklist of to-visit uses. 124 SmallVector<UseToVisit, 8> Worklist; 153 /// \brief Enqueue the users of this instruction in the visit worklist. 178 /// The recursive visit of uses is accomplished with a worklist, so the only 216 // Visit all the uses off the worklist until it is empty. 217 while (!Worklist.empty()) { 218 UseToVisit ToVisit = Worklist.pop_back_val();
|
ScalarEvolutionExpressions.h | 566 /// Visit all nodes in the expression tree using worklist traversal. 576 SmallVector<const SCEV *, 8> Worklist; 581 Worklist.push_back(S); 588 while (!Worklist.empty() && !Visitor.isDone()) { 589 const SCEV *S = Worklist.pop_back_val();
|
/external/llvm/lib/Transforms/Utils/ |
LoopSimplify.cpp | 195 SmallVector<BasicBlock *, 8> Worklist; 196 Worklist.push_back(InputBB); 198 BasicBlock *BB = Worklist.pop_back_val(); 204 Worklist.push_back(WBB); 206 } while (!Worklist.empty()); 475 static bool simplifyOneLoop(Loop *L, SmallVectorImpl<Loop *> &Worklist, 589 Worklist.push_back(OuterL); 718 // Worklist maintains our depth-first queue of loops in this nest to process. 719 SmallVector<Loop *, 4> Worklist; 720 Worklist.push_back(L) [all...] |
PromoteMemoryToRegister.cpp | 309 std::vector<RenamePassData> &Worklist); 577 SmallVector<DomTreeNode *, 32> Worklist; 581 Worklist.push_back(Root); 583 while (!Worklist.empty()) { 584 DomTreeNode *Node = Worklist.pop_back_val(); 589 Worklist.push_back(*CI); 643 // RenamePass may add new worklist entries. 773 // where the def is live. Blocks are added to the worklist if we need to 823 // live into it to. Add the preds to the worklist unless they are a 832 // Otherwise it is, add to the worklist [all...] |
/external/llvm/lib/Transforms/IPO/ |
MergeFunctions.cpp | [all...] |
/external/llvm/lib/Support/ |
DAGDeltaAlgorithm.cpp | 210 std::vector<change_ty> Worklist(Roots.begin(), Roots.end()); 211 while (!Worklist.empty()) { 212 change_ty Change = Worklist.back(); 213 Worklist.pop_back(); 220 Worklist.push_back(*it);
|
/external/llvm/lib/CodeGen/SelectionDAG/ |
LegalizeTypes.cpp | 201 Worklist.push_back(I); 208 while (!Worklist.empty()) { 214 SDNode *N = Worklist.back(); 215 Worklist.pop_back(); 217 "Node should be ready if on worklist!"); 317 // to the worklist etc. 322 // the worklist if ready. 349 // Mark it as processed and add its users to the worklist as appropriate. 365 Worklist.push_back(User); 383 Worklist.push_back(User) [all...] |
ScheduleDAGSDNodes.cpp | 331 SmallVector<SDNode*, 64> Worklist; 333 Worklist.push_back(DAG->getRoot().getNode()); 337 while (!Worklist.empty()) { 338 SDNode *NI = Worklist.pop_back_val(); 340 // Add all operands to the worklist unless they've already been added. 343 Worklist.push_back(NI->getOperand(i).getNode()); [all...] |