Lines Matching full:sections
9 /// The file is responsible for sorting sections using LLVM call graph profile
10 /// data by placing frequently executed code sections together. The goal of the
12 /// arranging code sections so that i-TLB misses and i-cache misses are reduced.
15 /// iteratively merges "chains" (ordered lists) of input sections which will be
64 /// code sections such that page table and i-cache misses are minimized.
68 /// * An ordered list of input sections which are laid out as a unit. At the
82 /// * Sort input sections by weight
97 std::vector<const InputSectionBase *> sections; member in __anonac38cd190111::CallGraphSort
121 sections.push_back(isec); in CallGraphSort()
133 // Ignore edges between input sections belonging to different output in CallGraphSort()
134 // sections. This is done because otherwise we would end up with clusters in CallGraphSort()
135 // containing input sections that can't actually be placed adjacently in the in CallGraphSort()
137 // would also end up moving input sections in other output sections without in CallGraphSort()
240 orderMap[sections[i]] = curOrder++; in run()
260 for (Symbol *sym : sections[i]->file->getSymbols()) in run()
263 if (sections[i] == d->section) in run()
274 // Sort sections by the profile data using the Cache-Directed Sort algorithm.
276 // executed code sections together.
282 SmallVector<const InputSectionBase *, 0> sections; in computeCacheDirectedSortOrder() local
286 auto res = secToTargetId.try_emplace(inSec, sections.size()); in computeCacheDirectedSortOrder()
289 sections.push_back(inSec); in computeCacheDirectedSortOrder()
300 // Ignore edges between input sections belonging to different sections. in computeCacheDirectedSortOrder()
330 orderMap[sections[secIdx]] = curOrder++; in computeCacheDirectedSortOrder()
335 // Sort sections by the profile data provided by --callgraph-profile-file.
337 // This first builds a call graph based on the profile data then merges sections