/external/llvm/lib/Transforms/InstCombine/ |
InstCombineWorklist.h | 1 //===- InstCombineWorklist.h - Worklist for the InstCombine pass ----------===// 23 /// InstCombineWorklist - This is the worklist management logic for 26 SmallVector<Instruction*, 256> Worklist; 34 bool isEmpty() const { return Worklist.empty(); } 36 /// Add - Add the specified instruction to the worklist if it isn't already 39 if (WorklistMap.insert(std::make_pair(I, Worklist.size())).second) { 41 Worklist.push_back(I); 51 /// which should only be done when the worklist is empty and when the group 54 assert(Worklist.empty() && "Worklist must be empty to add initial group") [all...] |
InstCombine.h | 57 /// to the instcombine worklist. 60 InstCombineWorklist &Worklist; 62 InstCombineIRInserter(InstCombineWorklist &WL) : Worklist(WL) {} 67 Worklist.Add(I); 81 /// Worklist - All of the instructions that need to be simplified. 82 InstCombineWorklist Worklist; 85 /// instructions into the worklist when they are created. 239 // in the program. Add the new instruction to the worklist. 246 Worklist.Add(New); 260 // 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/ |
CaptureTracking.cpp | 84 SmallVector<Use*, Threshold> Worklist; 98 Worklist.push_back(U); 101 while (!Worklist.empty()) { 102 Use *U = Worklist.pop_back_val(); 154 Worklist.push_back(U);
|
PtrUseVisitor.cpp | 26 Worklist.push_back(llvm_move(NewU));
|
BasicAliasAnalysis.cpp | 550 SmallVector<const Value *, 16> Worklist; 551 Worklist.push_back(Loc.Ptr); 553 const Value *V = GetUnderlyingObject(Worklist.pop_back_val(), TD); 577 Worklist.push_back(SI->getTrueValue()); 578 Worklist.push_back(SI->getFalseValue()); 591 Worklist.push_back(PN->getIncomingValue(i)); 599 } while (!Worklist.empty() && --MaxLookup); 602 return Worklist.empty(); [all...] |
ScalarEvolution.cpp | [all...] |
MemoryDependenceAnalysis.cpp | 649 // determine what is dirty, seeding our initial DirtyBlocks worklist. 749 // the predecessors of this block. Add them to our 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(); 99 Worklist.push_back(Ur); 101 } while (!Worklist.empty());
|
DependencyAnalysis.cpp | 212 SmallVector<std::pair<BasicBlock *, BasicBlock::iterator>, 4> Worklist; 213 Worklist.push_back(std::make_pair(StartBB, StartPos)); 216 Worklist.pop_back_val(); 227 // Add the predecessors to the worklist. 231 Worklist.push_back(std::make_pair(PredBB, PredBB->end())); 242 } while (!Worklist.empty());
|
ObjCARCOpts.cpp | 179 SmallVector<const Value *, 4> Worklist; 180 Worklist.push_back(Ptr); 184 Worklist.push_back(*I); 191 const Value *V = Worklist.pop_back_val(); 224 Worklist.push_back(UUser); 247 } while (!Worklist.empty()); [all...] |
/external/llvm/lib/Transforms/Scalar/ |
LoopUnswitch.cpp | 183 /// RemoveLoopFromWorklist - If the specified loop is on the loop worklist, 214 void SimplifyCode(std::vector<Instruction*> &Worklist, Loop *L); 216 std::vector<Instruction*> &Worklist, Loop *l); [all...] |
SimplifyCFGPass.cpp | 119 SmallVector<BasicBlock*, 128> Worklist; 120 Worklist.push_back(BB); 124 BB = Worklist.pop_back_val(); 185 Worklist.push_back(*SI); 186 } while (!Worklist.empty());
|
Reassociate.cpp | 433 // Worklist of non-leaf nodes (their operands are in the expression too) along 435 // If an operator occurs in the worklist multiple times then we found multiple 437 SmallVector<std::pair<BinaryOperator*, APInt>, 8> Worklist; // (Op, Weight) 438 Worklist.push_back(std::make_pair(I, APInt(Bitwidth, 1))); 463 while (!Worklist.empty()) { 464 std::pair<BinaryOperator*, APInt> P = Worklist.pop_back_val(); 478 Worklist.push_back(std::make_pair(BO, Weight)); 516 Worklist.push_back(std::make_pair(BO, It->second)); 548 Worklist.push_back(std::make_pair(BO, Weight)); [all...] |
LoopStrengthReduce.cpp | [all...] |
/external/llvm/include/llvm/Analysis/ |
DominatorInternals.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)));
|
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 | 484 /// Visit all nodes in the expression tree using worklist traversal. 494 SmallVector<const SCEV *, 8> Worklist; 499 Worklist.push_back(S); 506 while (!Worklist.empty() && !Visitor.isDone()) { 507 const SCEV *S = Worklist.pop_back_val();
|
/external/llvm/lib/Transforms/Utils/ |
PromoteMemoryToRegister.cpp | 294 std::vector<RenamePassData> &Worklist); 496 SmallVector<DomTreeNode*, 32> Worklist; 500 Worklist.push_back(Root); 502 while (!Worklist.empty()) { 503 DomTreeNode *Node = Worklist.pop_back_val(); 508 Worklist.push_back(*CI); 562 // RenamePass may add new worklist entries. 688 // where the def is live. Blocks are added to the worklist if we need to 735 // live into it to. Add the preds to the worklist unless they are a 744 // Otherwise it is, add to the worklist [all...] |
Local.cpp | [all...] |
/external/llvm/lib/Transforms/IPO/ |
MergeFunctions.cpp | 619 std::vector<WeakVH> Worklist; 620 Deferred.swap(Worklist); 623 DEBUG(dbgs() << "size of worklist: " << Worklist.size() << '\n'); 627 for (std::vector<WeakVH>::iterator I = Worklist.begin(), 628 E = Worklist.end(); I != E; ++I) { 642 for (std::vector<WeakVH>::iterator I = Worklist.begin(), 643 E = Worklist.end(); I != E; ++I) { 850 std::vector<Value *> Worklist; 851 Worklist.push_back(V) [all...] |
/external/llvm/lib/Support/ |
DAGDeltaAlgorithm.cpp | 208 std::vector<change_ty> Worklist(Roots.begin(), Roots.end()); 209 while (!Worklist.empty()) { 210 change_ty Change = Worklist.back(); 211 Worklist.pop_back(); 218 Worklist.push_back(*it);
|
/external/llvm/lib/CodeGen/SelectionDAG/ |
LegalizeTypes.cpp | 199 Worklist.push_back(I); 206 while (!Worklist.empty()) { 212 SDNode *N = Worklist.back(); 213 Worklist.pop_back(); 215 "Node should be ready if on worklist!"); 315 // to the worklist etc. 320 // the worklist if ready. 347 // Mark it as processed and add its users to the worklist as appropriate. 363 Worklist.push_back(User); 381 Worklist.push_back(User) [all...] |
ScheduleDAGSDNodes.cpp | 325 SmallVector<SDNode*, 64> Worklist; 327 Worklist.push_back(DAG->getRoot().getNode()); 331 while (!Worklist.empty()) { 332 SDNode *NI = Worklist.pop_back_val(); 334 // Add all operands to the worklist unless they've already been added. 337 Worklist.push_back(NI->getOperand(i).getNode()); [all...] |
/external/llvm/lib/CodeGen/ |
MachineLICM.cpp | 355 SmallVector<MachineLoop *, 8> Worklist(MLI->begin(), MLI->end()); 356 while (!Worklist.empty()) { 357 CurLoop = Worklist.pop_back_val(); 364 Worklist.append(CurLoop->begin(), CurLoop->end()); 692 SmallVector<MachineDomTreeNode*, 8> WorkList; 697 WorkList.push_back(HeaderN); 699 MachineDomTreeNode *Node = WorkList.pop_back_val(); 724 // Add children in reverse order as then the next popped worklist node is 730 WorkList.push_back(Child); 732 } while (!WorkList.empty()) [all...] |