Lines Matching full:segments
127 std::vector<OutputSegment *> segments;
376 // segments.
381 for (OutputSegment *seg : segments) {
550 addSection(make<DataSection>(segments));
618 // Find TLS data segments
622 tlsUsed = tlsUsed || llvm::any_of(file->segments, isTLS);
676 // Normally we don't include bss segments in the binary. In particular if
679 // instruction, then we can also avoid including the segments.
681 // the bss segments, so these segments need to exist in the binary.
950 for (InputChunk *chunk : file->segments)
1024 segments.push_back(s);
1030 for (InputChunk *segment : file->segments) {
1035 // When running in relocatable mode we can't merge segments that are part
1049 // Sort segments by type, placing .bss last
1050 std::stable_sort(segments.begin(), segments.end(),
1063 for (size_t i = 0; i < segments.size(); ++i)
1064 segments[i]->index = i;
1068 for (OutputSegment *seg : segments)
1075 // combines all data segments into a single .data segment.
1080 if (segments.size() <= 1)
1083 combined->startVA = segments[0]->startVA;
1084 for (OutputSegment *s : segments) {
1103 segments = {combined};
1126 return llvm::any_of(segments, [this](const OutputSegment *s) {
1139 // Passive segments are used to avoid memory being reinitialized on each
1140 // thread's instantiation. These passive segments are initialized and
1142 // We also initialize bss segments (using memory.fill) as part of this
1174 if (llvm::any_of(segments, hasTLSRelocs)) {
1220 // passive data segments once memory has been initialized. The generated
1235 // ( ... initialize data segments ... )
1256 // ( ... drop data segments ... )
1313 // Initialize passive data segments
1319 for (const OutputSegment *s : segments) {
1321 // For passive BSS segments we can simple issue a memory.fill(0).
1322 // For non-BSS segments we do a memory.init. Both these
1387 // Branch to drop the segments
1402 // Unconditionally drop passive data segments
1406 for (const OutputSegment *s : segments) {
1451 // apply any relocations to the data segments on startup. This function is
1462 for (const OutputSegment *seg : segments)
1492 for (const OutputSegment *seg : segments)
1609 for (auto *seg : segments) {
1702 out.dataCountSec = make<DataCountSection>(segments);
1703 out.linkingSec = make<LinkingSection>(initFunctions, segments);
1704 out.nameSec = make<NameSection>(segments);
1723 for (const OutputSegment *seg : segments) {
1752 // segments into a single one that can live at `__memory_base`.
1754 // In shared memory mode all data segments are passive and initialized