Home
last modified time | relevance | path

Searched full:roots (Results 1 – 25 of 233) sorted by relevance

12345678910

/llvm-project/llvm/lib/CodeGen/
H A DShadowStackGCLowering.cpp56 /// roots.
63 /// Roots - GC roots in the current function. Each is a pair of the
65 std::vector<std::pair<CallInst *, AllocaInst *>> Roots;
155 for (unsigned I = 0; I != Roots.size(); ++I) { in GetFrameMap()
156 Constant *C = cast<Constant>(Roots[I].first->getArgOperand(1)); in GetFrameMap()
166 ConstantInt::get(Int32Ty, Roots.size(), false), in GetFrameMap()
206 for (const std::pair<CallInst *, AllocaInst *> &Root : Roots) in GetConcreteStackEntryType()
226 // int32_t NumRoots; // Number of roots in stack frame. in doInitialization()
228 // void *Meta[]; // May be absent for roots withou in doInitialization()
66 std::vector<std::pair<CallInst *, AllocaInst *>> Roots; global() member in __anonfc7e73940111::ShadowStackGCLoweringImpl
[all...]
H A DGCRootLowering.cpp31 /// already done so...), and insert initializing stores to roots as a defensive
32 /// measure. Given we're going to report all roots live at all safepoints, we
163 static bool InsertRootInitializers(Function &F, ArrayRef<AllocaInst *> Roots) { in InsertRootInitializers() argument
180 for (AllocaInst *Root : Roots) in InsertRootInitializers()
205 SmallVector<AllocaInst *, 32> Roots; in DoLowering() local
239 Roots.push_back( in DoLowering()
246 if (Roots.size()) in DoLowering()
247 MadeChange |= InsertRootInitializers(F, Roots); in DoLowering()
341 // Find the concrete stack offsets for all roots (stack slots) in runOnMachineFunction()
/llvm-project/llvm/include/llvm/Support/
H A DGenericDomTreeConstruction.h59 using RootsT = decltype(DomTreeT::Roots);
336 // For postdominators, nodes with no forward successors are trivial roots that in FindRoots()
337 // are always selected as tree roots. Roots with forward successors correspond in FindRoots()
349 // Finds all roots without relaying on the set of roots already stored in the in FindRoots()
351 // We define roots to be some non-redundant set of the CFG nodes in FindRoots()
354 RootsT Roots; in FindRoots()
358 Roots.push_back(GetEntryNode(DT)); in FindRoots()
359 return Roots; in FindRoots()
338 RootsT Roots; FindRoots() local
704 RootsT Roots = FindRoots(DT, BUI); UpdateRootsAfterUpdate() local
[all...]
H A DGenericDomTree.h259 SmallVector<NodeT *, IsPostDom ? 4 : 1> Roots;
282 : Roots(std::move(Arg.Roots)), DomTreeNodes(std::move(Arg.DomTreeNodes)),
292 Roots = std::move(RHS.Roots);
307 /// Iteration over roots.
315 root_iterator root_begin() { return Roots.begin(); }
316 const_root_iterator root_begin() const { return Roots.begin(); }
317 root_iterator root_end() { return Roots.end(); }
318 const_root_iterator root_end() const { return Roots
[all...]
/llvm-project/llvm/include/llvm/CodeGen/
H A DGCMetadata.h18 // - Stack offsets for GC roots, as specified by calls to llvm.gcroot
20 // As a refinement, liveness analysis calculates the set of live roots at each
22 // generator, so all roots are assumed live.
88 std::vector<GCRoot> Roots; variable
98 // The bit vector is the more compact representation where >3.2% of roots
119 Roots.push_back(GCRoot(Num, Metadata)); in addStackRoot()
124 return Roots.erase(position); in removeStackRoot()
143 /// roots_begin/roots_end - Iterators for all roots in the function.
144 roots_iterator roots_begin() { return Roots.begin(); } in roots_begin()
145 roots_iterator roots_end() { return Roots.end(); } in roots_end()
[all …]
/llvm-project/llvm/include/llvm/XRay/
H A DProfile.h90 Roots(std::move(O.Roots)), PathIDMap(std::move(O.PathIDMap)), in Profile()
96 Roots = std::move(O.Roots);
109 swap(L.Roots, R.Roots); in swap()
130 // List of call stack roots.
131 SmallVector<TrieNode *, 4> Roots; variable
/llvm-project/lldb/source/Target/
H A DTraceDumper.cpp705 /// \param[in,out] roots
706 /// The object owning the roots. It might be modified if a new root needs to
714 std::vector<TraceDumper::FunctionCallUP> &roots) { in AppendReturnedInstructionToFunctionCallForest() argument
737 new_root->SetUntracedPrefixSegment(std::move(roots.back())); in AppendReturnedInstructionToFunctionCallForest()
738 roots.pop_back(); in AppendReturnedInstructionToFunctionCallForest()
739 // We update the roots container to point to the new root in AppendReturnedInstructionToFunctionCallForest()
740 roots.emplace_back(std::move(new_root)); in AppendReturnedInstructionToFunctionCallForest()
741 return *roots.back(); in AppendReturnedInstructionToFunctionCallForest()
763 /// \param[in,out] roots
764 /// The object owning the roots
774 AppendInstructionToFunctionCallForest(const ExecutionContext & exe_ctx,TraceDumper::FunctionCall * last_function_call,const TraceDumper::SymbolInfo & prev_symbol_info,const TraceDumper::SymbolInfo & symbol_info,const TraceCursorSP & cursor_sp,std::vector<TraceDumper::FunctionCallUP> & roots) AppendInstructionToFunctionCallForest() argument
861 AppendErrorToFunctionCallForest(TraceDumper::FunctionCall * last_function_call,TraceCursorSP & cursor_sp,std::vector<TraceDumper::FunctionCallUP> & roots) AppendErrorToFunctionCallForest() argument
877 std::vector<TraceDumper::FunctionCallUP> roots; CreateFunctionCallForest() local
[all...]
/llvm-project/llvm/lib/Support/
H A DDAGDeltaAlgorithm.cpp63 std::vector<change_ty> Roots;
190 // Compute the roots. in DAGDeltaAlgorithmImpl()
193 Roots.push_back(Change); in DAGDeltaAlgorithmImpl()
196 std::vector<change_ty> Worklist(Roots.begin(), Roots.end()); in DAGDeltaAlgorithmImpl()
242 llvm::errs() << "Roots: ["; in DAGDeltaAlgorithmImpl()
243 for (std::vector<change_ty>::const_iterator it = Roots.begin(), in DAGDeltaAlgorithmImpl()
244 ie = Roots.end(); in DAGDeltaAlgorithmImpl()
246 if (it != Roots.begin()) in DAGDeltaAlgorithmImpl()
301 // The current set of changes we are minimizing, starting at the roots
64 std::vector<change_ty> Roots; global() member in __anon5dbb262c0111::DAGDeltaAlgorithmImpl
[all...]
/llvm-project/llvm/include/llvm/Analysis/
H A DDominanceFrontier.h51 // Postdominators can have multiple roots.
52 SmallVector<BlockT *, IsPostDom ? 4 : 1> Roots;
61 const SmallVectorImpl<BlockT *> &getRoots() const { return Roots; }
64 assert(Roots.size() == 1 && "Should always have entry node!"); in getRoot()
65 return Roots[0]; in getRoot()
116 this->Roots = {DT.getRoot()};
117 calculate(DT, DT[this->Roots[0]]);
53 SmallVector<BlockT *, IsPostDom ? 4 : 1> Roots; global() variable
/llvm-project/llvm/unittests/ProfileData/
H A DPGOCtxProfReaderWriterTest.cpp25 std::map<GUID, const ContextNode *> Roots;
46 Roots.insert({1, Root1}); in SetUp()
62 Roots.insert({3, Root2}); in SetUp()
65 const std::map<GUID, const ContextNode *> &roots() const { return Roots; }
101 for (auto &[_, R] : roots()) in TEST_F()
127 EXPECT_EQ(Ctxes.size(), roots().size()); in TEST_F()
129 for (auto &[G, R] : roots()) in TEST_F()
24 std::map<GUID, const ContextNode *> Roots; global() member in PGOCtxProfRWTest
64 const std::map<GUID, const ContextNode *> &roots() const { return Roots; } roots() function in PGOCtxProfRWTest
/llvm-project/compiler-rt/lib/xray/
H A Dxray_function_call_trie.h319 RootArray Roots; variable
327 Roots(*A.RootAllocator), in FunctionCallTrie()
338 Roots(std::move(O.Roots)), in FunctionCallTrie()
345 Roots = std::move(O.Roots);
372 if (Roots.AppendEmplace(NewRoot) == nullptr) { in enterFunction()
378 Roots.trim(1); in enterFunction()
461 const RootArray &getRoots() const XRAY_NEVER_INSTRUMENT { return Roots; } in getRoots()
466 // roots, and while doing so recreating the traversal in the provided
501 if (UNLIKELY(O.Roots.Append(NewRoot) == nullptr)) in deepCopyInto()
532 // traversing the current trie's roots and updating (i.e. merging) the data in
[all …]
/llvm-project/llvm/unittests/Support/
H A DVirtualFileSystemTest.cpp928 " 'roots': [\n" in TEST()
1613 "{ 'roots': [\n" in TEST_F()
1727 getFromYAMLString("{ 'roots': [\n" in TEST_F()
1772 getFromYAMLString("{ 'roots': [\n" in TEST_F()
1817 " 'roots': [\n" in TEST_F()
1858 " 'roots': [\n" in TEST_F()
1924 " 'roots': [\n" in TEST_F()
1965 " 'roots': [\n" in TEST_F()
1987 " 'roots': [\n" in TEST_F()
2006 " 'roots' in TEST_F()
[all...]
/llvm-project/mlir/lib/Conversion/PDLToPDLInterp/
H A DRootOrdering.h9 // This file contains definition for a cost graph over candidate roots and
11 // these roots. Each edge in this graph indicates that the target root can be
34 /// roots via a chain of operations. The cost of an edge is the smallest number
38 /// traversals. Consider the following pattern with 3 roots op3, op4, and op5:
57 /// roots do not intersect. It is easy to see that the optimal root for this
73 /// A directed graph representing the cost of ordering the roots in the
H A DPredicateTree.cpp388 /// Given a pattern, determines the set of roots present in this pattern.
392 // to other operations. These are not roots by default. in detectRoots()
407 SmallVector<Value> roots; in detectRoots() local
410 roots.push_back(operationOp); in detectRoots()
412 return roots; in detectRoots()
415 /// Given a list of candidate roots, builds the cost graph for connecting them.
418 /// the candidate roots based on the common connector values, taking the one
422 static void buildCostGraph(ArrayRef<Value> roots, RootOrderingGraph &graph, in buildCostGraph() argument
447 // Map from candidate connector values to their roots and depths. Using a in buildCostGraph()
452 for (Value root : roots) { in buildCostGraph()
618 SmallVector<Value> roots = detectRoots(pattern); buildPredicateList() local
[all...]
/llvm-project/llvm/test/Transforms/InstCombine/
H A Dinfinite-loop-postdom.ll161 ; CHECK-POSTDOM-NEXT: Roots: %B1
171 ; CHECK-POSTDOM-NEXT: Roots: %B1
181 ; CHECK-POSTDOM-NEXT: Roots: %B2
191 ; CHECK-POSTDOM-NEXT: Roots: %B2
206 ; CHECK-POSTDOM-NEXT:Roots: %EXIT %RU1_B1 %RU2_B1
221 ; CHECK-POSTDOM-NEXT:Roots: %EXIT %RU1_B1 %RU2_B1
/llvm-project/llvm/lib/Transforms/Scalar/
H A DFloat2Int.cpp87 // Find the roots - instructions that convert from the FP domain to
103 Roots.insert(&I); in findRoots()
108 Roots.insert(&I); in findRoots()
139 // the roots. Populate "SeenInsts" with interesting
149 std::deque<Instruction*> Worklist(Roots.begin(), Roots.end());
331 // Don't count the roots, as they terminate the graphs. in validateAndTransform()
332 if (!Roots.contains(I)) { in validateAndTransform()
468 if (Roots.count(I)) in convert()
487 Roots in runImpl()
[all...]
/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
H A DExplodedGraph.h310 /// The roots of the simulation graph. Usually there will be only
313 /// different roots reach the same state at the same program location.
314 NodeVector Roots; variable
369 /// addRoot - Add an untyped node to the set of roots.
371 Roots.push_back(V); in addRoot()
381 unsigned num_roots() const { return Roots.size(); } in num_roots()
403 roots_iterator roots_begin() { return Roots.begin(); } in roots_begin()
405 roots_iterator roots_end() { return Roots.end(); } in roots_end()
407 const_roots_iterator roots_begin() const { return Roots.begin(); } in roots_begin()
409 const_roots_iterator roots_end() const { return Roots.end(); } in roots_end()
/llvm-project/llvm/docs/
H A DGarbageCollection.rst59 You will need to identify roots (i.e. references to heap objects your collector
173 * Registration of global roots with the runtime.
225 Identifying GC roots on the stack
406 stack maps, this algorithm carefully maintains a linked list of stack roots
430 roots, and for this it needs to integrate with the shadow stack. Luckily, doing
442 int32_t NumRoots; //< Number of roots in stack frame.
452 void *Roots[0]; //< Stack roots (in-place array).
473 // For roots [0, NumMeta), the metadata pointer is in the FrameMap.
475 Visitor(&R->Roots[i], R->Map->Meta[i]);
477 // For roots [NumMeta, NumRoots), the metadata pointer is null.
[all …]
/llvm-project/polly/lib/Support/
H A DVirtualInstruction.cpp174 // roots in order to be marked as used. in isRoot()
205 // be roots. in addInstructionRoots()
225 /// If false, only writes for SCoP-escaping values are roots. This
239 // Values are roots if they are escaping. in addAccessRoots()
249 // phi writes are only roots if we are not visiting the statement in addAccessRoots()
256 /// Determine all instruction and access roots.
272 /// roots.
273 /// @param UsedAccs[out] Receives all reachable accesses, including the roots.
/llvm-project/llvm/test/CodeGen/ARM/
H A D2010-04-15-ScavengerDebugValue.ll19 …", directory: "/Users/bwilson/local/nightly/test-2010-04-14/build/llvmgcc.roots/llvmgcc~obj/src/gc…
20 …", directory: "/Users/bwilson/local/nightly/test-2010-04-14/build/llvmgcc.roots/llvmgcc~obj/src/gc…
25 …", directory: "/Users/bwilson/local/nightly/test-2010-04-14/build/llvmgcc.roots/llvmgcc~obj/src/gc…
/llvm-project/openmp/runtime/test/affinity/
H A Droot-threads-affinity.c170 pthread_t *roots = (pthread_t*)malloc(sizeof(pthread_t) * num_roots); in main() local
182 pthread_create(roots + i, NULL, thread_func, root_ids + i); in main()
191 pthread_join(roots[i], &status); in main()
193 free(roots); in main()
/llvm-project/llvm/utils/TableGen/Common/
H A DCodeGenRegisters.h545 const CodeGenRegister *Roots[2];
550 // A register unit is artificial if at least one of its roots is
555 Roots[0] = Roots[1] = nullptr;
559 assert(!(Roots[1] && !Roots[0]) && "Invalid roots array"); in getRoots()
560 return ArrayRef(Roots, !!Roots[0] + !!Roots[ in getRoots()
543 const CodeGenRegister *Roots[2]; global() member
[all...]
/llvm-project/clang/test/VFS/
H A Drelative-path-errors.c5 // RUN: echo '{"roots": [],"version": 0}' > %t.yaml
7 // RUN: echo '{"version": 0,"roots":[{"type":"directory","name":"%/t","contents":[{"type":"file","n…
/llvm-project/llvm/tools/llvm-xray/
H A Dxray-stacks.cpp322 // We maintain pointers to the roots of the tries we see.
323 DenseMap<uint32_t, RootVector> Roots; member in StackTrie
338 Roots[ThreadId].push_back(Node); in createTrieNode()
343 const auto &RootsByThread = Roots[ThreadId]; in findRootNode()
447 bool isEmpty() const { return Roots.empty(); } in isEmpty()
481 for (const auto &iter : Roots) { in printPerThread()
492 for (const auto &iter : Roots) in printAllPerThread()
503 using RootsType = decltype(Roots.begin())::value_type; in printIgnoringThreads()
507 make_range(map_iterator(Roots.begin(), MapValueFn), in printIgnoringThreads()
508 map_iterator(Roots.end(), MapValueFn))) { in printIgnoringThreads()
[all …]
/llvm-project/lld/MachO/
H A DMarkLive.cpp35 // Type-erased interface to MarkLiveImpl. Used for adding roots to the liveness
148 // Mark things reachable from GC roots as live. in markTransitively()
210 // Add GC roots. in markLive()
233 // roots: in markLive()
239 // all external functions are GC roots. in markLive()

12345678910