Home
last modified time | relevance | path

Searched refs:isec (Results 1 – 25 of 52) sorted by relevance

123

/llvm-project-15.0.7/lld/MachO/
H A DMarkLive.cpp25 InputSection *isec; member
30 : isec(isec), prev(prev) {} in WhyLiveEntry()
53 enqueue(isec, off, nullptr); in enqueue()
77 if (isec->isLive(off)) in enqueue()
79 isec->markLive(off); in enqueue()
95 if (d->isec) in addSym()
132 return entry->isec; in getInputSection()
138 return isec; in getInputSection()
144 if (!isec) { in makeEntry()
154 return isec; in makeEntry()
[all …]
H A DConcatOutputSection.cpp129 isecAddr = alignTo(isecAddr, isec->align) + isec->getSize(); in needsThunks()
175 isecEnd = alignTo(isecEnd, isec->align) + isec->getSize(); in estimateStubsInRangeVA()
199 isec->outSecOff = size; in finalizeOne()
200 isec->isFinal = true; in finalizeOne()
201 size += isec->getSize(); in finalizeOne()
207 finalizeOne(isec); in finalizeContents()
213 finalizeOne(isec); in finalize()
318 thunkInfo.isec = in finalize()
319 makeSyntheticInputSection(isec->getSegName(), isec->getName()); in finalize()
361 isec->writeTo(buf + isec->outSecOff); in writeTo()
[all …]
H A DICF.cpp136 if (!da->isec || !db->isec) { in equalsConstant()
140 isecA = da->isec; in equalsConstant()
142 isecB = db->isec; in equalsConstant()
371 if (d->isec) in markSymAsAddrSig()
387 const InputSection *isec = addrSigSection->subsections[0].isec; in markAddrSigSymbols() local
420 (isCodeSection(isec) || isCfStringSection(isec) || in foldIdenticalSections()
421 isClassRefsSection(isec) || isGccExceptTabSection(isec)) && in foldIdenticalSections()
422 !isec->keepUnique && !isec->shouldOmitFromOutput() && in foldIdenticalSections()
435 if (isCfStringSection(isec) || isClassRefsSection(isec)) { in foldIdenticalSections()
442 isec->data = copy; in foldIdenticalSections()
[all …]
H A DSymbols.cpp54 weakDef(isWeakDef), external(isExternal), isec(isec), value(value), in Defined()
56 if (isec) { in Defined()
57 isec->symbols.push_back(this); in Defined()
59 for (auto it = isec->symbols.rbegin(), rend = isec->symbols.rend(); in Defined()
73 return !isAbsolute() && isThreadLocalVariables(isec->getFlags()); in isTlv()
82 if (!isec->isFinal) { in getVA()
93 return isec->getVA(value); in getVA()
99 if (isec) in canonicalize()
100 isec = isec->canonical(); in canonicalize()
104 if (!isec) in getSourceLocation()
[all …]
H A DInputSection.cpp76 if (subsec.isec == this) { in getLocation()
97 if (subsec.isec == this) { in getSourceLocation()
242 section.subsections.push_back({0, isec}); in makeSyntheticInputSection()
243 return isec; in makeSyntheticInputSection()
317 uint32_t type = sectionType(isec->getFlags()); in isCodeSection()
325 if (isec->getSegName() == segment_names::text) in isCodeSection()
326 return StringSwitch<bool>(isec->getName()) in isCodeSection()
335 isec->getSegName() == segment_names::data; in isCfStringSection()
340 isec->getSegName() == segment_names::data; in isClassRefsSection()
345 isec->getSegName() == segment_names::text; in isEhFrameSection()
[all …]
H A DSyntheticSections.cpp72 isec->parent = this; in SyntheticSection()
84 isec->isFinal = true; in MachHeaderSection()
223 loc.isec->parent->getSegmentOffset() + loc.isec->getOffset(loc.offset); in encodeRebases()
279 return a.isec->getVA(a.offset) < b.isec->getVA(b.offset); in finalizeContents()
839 const InputSection *isec = subsec.isec; in collectDataInCodeEntries() local
883 if (!defined->isec || !isCodeSection(defined->isec) || in finalizeContents()
982 InputSection *isec = defined->isec; in emitStabs() local
1002 InputSection *isec = defined->isec; in emitStabs() local
1433 isec->parent = this; in addInput()
1459 1 << countTrailingZeros(isec->align | isec->pieces[i].inSecOff); in finalizeContents()
[all …]
H A DRelocations.cpp25 const InputSection *isec, const Reloc &r) { in validateSymbolRelocation() argument
30 return (isec->getLocation(r.offset) + ": " + relocAttrs.name + in validateSymbolRelocation()
73 const ConcatInputSection *isec = osec->inputs[isecIdx]; in offsetToInputSection() local
74 if (*off < isec->outSecOff) in offsetToInputSection()
78 ConcatInputSection *isec = osec->inputs[isecIdx - 1]; in offsetToInputSection() local
79 *off -= isec->outSecOff; in offsetToInputSection()
80 return isec; in offsetToInputSection()
89 const InputSection *isec = offsetToInputSection(&off); in reportRangeError() local
90 std::string locStr = isec ? isec->getLocation(off) : "(invalid location)"; in reportRangeError()
H A DInputFiles.cpp443 return it->isec; in findContainingSubsection()
840 name, isec->getFile(), isec, value, size, sym.n_desc & N_WEAK_DEF, in createDefined()
971 InputSection *isec = subsec.isec; in parseSymbols() local
1002 isec->data = isec->data.slice(0, symbolOffset); in parseSymbols()
1040 isec->live = true; in OpaqueFile()
1201 ConcatInputSection *isec = cast<ConcatInputSection>(subsection.isec); in registerCompactUnwind() local
1231 for (auto it = isec->relocs.begin(); it != isec->relocs.end();) { in registerCompactUnwind()
1428 if (pcSym->isec == isec) { in targetSymFromCanonicalSubtractor()
1470 auto *isec = cast<ConcatInputSection>(subsec.isec); in registerEhFrames() local
1478 "EH_Frame", isec->getFile(), isec, /*value=*/0, /*size=*/0, in registerEhFrames()
[all …]
H A DSymbolTable.cpp59 assert(!isWeakDef || (isa<BitcodeFile>(file) && !isec) || in addDefined()
60 (isa<ObjFile>(file) && file == isec->getFile())); in addDefined()
87 std::string src2 = isec ? isec->getSourceLocation(value) : ""; in addDefined()
249 assert(!isec || !isec->getFile()); // See makeSyntheticInputSection(). in addSynthetic()
286 osec = ssec->isec->parent; in handleSectionBoundarySymbol()
297 isec->live = true; in handleSectionBoundarySymbol()
301 osec = isec->parent = ConcatOutputSection::getOrCreateForInput(isec); in handleSectionBoundarySymbol()
302 inputSections.push_back(isec); in handleSectionBoundarySymbol()
370 const InputSection *isec; member
407 message += loc.isec->getLocation(loc.offset); in reportPendingUndefinedSymbols()
[all …]
H A DMapFile.cpp53 if (d->isec && d->getFile() == file) { in getSymbols()
55 assert(!shouldOmitFromOutput(d->isec)); in getSymbols()
82 switch (sym->isec->kind()) { in getSymbolStrings()
85 const auto *isec = cast<CStringInputSection>(sym->isec); in getSymbolStrings() local
86 const StringPiece &piece = isec->getStringPiece(sym->value); in getSymbolStrings()
90 StringRef str = isec->getStringRef(&piece - &(*isec->pieces.begin())); in getSymbolStrings()
H A DInputSection.h123 static bool classof(const InputSection *isec) { in classof() argument
124 return isec->kind() == ConcatKind; in classof()
155 inline bool shouldOmitFromOutput(InputSection *isec) { in shouldOmitFromOutput() argument
156 return isa<ConcatInputSection>(isec) && in shouldOmitFromOutput()
160 inline bool isCoalescedWeak(InputSection *isec) { in isCoalescedWeak() argument
161 return isa<ConcatInputSection>(isec) && in isCoalescedWeak()
162 cast<ConcatInputSection>(isec)->isCoalescedWeak(); in isCoalescedWeak()
222 static bool classof(const InputSection *isec) { in classof() argument
223 return isec->kind() == CStringLiteralKind; in classof()
241 static bool classof(const InputSection *isec) { in classof() argument
[all …]
H A DSectionPriorities.cpp85 auto getOrCreateCluster = [&](const InputSection *isec) -> int { in CallGraphSort() argument
86 auto res = secToCluster.try_emplace(isec, clusters.size()); in CallGraphSort()
88 sections.push_back(isec); in CallGraphSort()
89 clusters.emplace_back(clusters.size(), isec->getSize()); in CallGraphSort()
233 const InputSection *isec = sections[i]; in run() local
237 for (Symbol *sym : isec->getFile()->symbols) { in run()
239 if (d->isec == isec) in run()
260 const InputFile *f = sym->isec->getFile(); in getSymbolPriority()
289 callGraphProfile[{fromSym->isec, toSym->isec}] += entry.count; in extractCallGraphProfile()
372 size_t &priority = sectionPriorities[sym->isec]; in buildInputSectionPriorities()
H A DEhFrame.h94 EhRelocator(InputSection *isec) : isec(isec) {} in EhRelocator() argument
109 InputSection *isec;
H A DDwarf.cpp28 for (const InputSection *isec : obj->debugSections) { in create() local
30 StringSwitch<StringRef *>(isec->getName()) in create()
36 *s = toStringRef(isec->data); in create()
H A DSyntheticSections.h55 InputSection *isec; variable
146 const InputSection *isec; member
149 Location(const InputSection *isec, uint64_t offset) in Location()
150 : isec(isec), offset(offset) {} in Location()
151 uint64_t getVA() const { return isec->getVA(offset); } in getVA()
165 void addEntry(const InputSection *isec, uint64_t offset) { in addEntry() argument
167 locations.push_back({isec, offset}); in addEntry()
194 void addEntry(const Symbol *dysym, const InputSection *isec, uint64_t offset,
196 bindingsMap[dysym].emplace_back(addend, Location(isec, offset));
225 void addEntry(const Symbol *symbol, const InputSection *isec, uint64_t offset,
[all …]
/llvm-project-15.0.7/lld/ELF/
H A DThunks.cpp437 STT_FUNC, 0, isec); in addSymbols()
463 STT_FUNC, 0, isec); in addSymbols()
563 STT_FUNC, 0, isec); in addSymbols()
581 STT_FUNC, 1, isec); in addSymbols()
602 STT_FUNC, 0, isec); in addSymbols()
623 STT_FUNC, 1, isec); in addSymbols()
738 isec); in addSymbols()
857 isec); in addSymbols()
981 isec); in addSymbols()
1017 isec); in addSymbols()
[all …]
H A DARMErrataFix.cpp208 uint64_t sourceAddr = isec->getVA(0) + off; in branchDestInFirstRegion()
238 isec->getVA() + isec->getSize() + 0x100); in patchInRange()
257 uint64_t isecAddr = isec->getVA(0); in scanCortexA8Errata657417()
269 const uint8_t *buf = isec->rawData.begin(); in scanCortexA8Errata657417()
289 if (relIt != isec->relocations.end()) in scanCortexA8Errata657417()
296 warn(toString(isec->file) + in scanCortexA8Errata657417()
378 isecLimit = isec->outSecOff + isec->getSize(); in insertPatches()
473 isec->relocations.push_back( in implementPatch()
486 for (InputSection *isec : isd.sections) { in patchInputSectionDescription()
488 if (isa<SyntheticSection>(isec)) in patchInputSectionDescription()
[all …]
H A DTarget.cpp97 auto *isec = cast<InputSection>(d); in getErrorPlace() local
98 if (!isec->getParent() || (isec->type & SHT_NOBITS)) in getErrorPlace()
103 ? (Out::bufferStart + isec->getParent()->offset + isec->outSecOff) in getErrorPlace()
104 : isec->data().data(); in getErrorPlace()
106 assert(isa<SyntheticSection>(isec) && "No data but not synthetic?"); in getErrorPlace()
109 if (isecLoc <= loc && loc < isecLoc + isec->getSize()) { in getErrorPlace()
110 std::string objLoc = isec->getLocation(loc - isecLoc); in getErrorPlace()
114 return {isec, objLoc + ": ", in getErrorPlace()
115 isec->file ? isec->getSrcMsg(dummy, loc - isecLoc) : ""}; in getErrorPlace()
H A DOutputSections.cpp99 partition = isec->partition; in recordSection()
100 isec->parent = this; in recordSection()
129 type = isec->type; in commitSection()
136 entsize = isec->entsize; in commitSection()
137 flags = isec->flags; in commitSection()
142 toString(isec) + ": 0x" + utohexstr(isec->flags) + in commitSection()
146 isec->parent = this; in commitSection()
161 if (entsize != isec->entsize) in commitSection()
434 isec->writeTo<ELFT>(buf + isec->outSecOff); in writeTo()
438 uint8_t *start = buf + isec->outSecOff + isec->getSize(); in writeTo()
[all …]
H A DAArch64ErrataFix.cpp338 uint64_t isecAddr = isec->getVA(0); in scanCortexA53Errata843419()
353 const uint8_t *buf = isec->rawData.begin(); in scanCortexA53Errata843419()
493 for (const InputSection *isec : isd.sections) { in insertPatches() local
494 isecLimit = isec->outSecOff + isec->getSize(); in insertPatches()
531 InputSection *isec, in implementPatch() argument
550 if (relIt != isec->relocations.end() && in implementPatch()
557 auto *ps = make<Patch843419Section>(isec, patcheeOffset); in implementPatch()
564 if (relIt != isec->relocations.end()) { in implementPatch()
579 for (InputSection *isec : isd.sections) { in patchInputSectionDescription()
581 if (isa<SyntheticSection>(isec)) in patchInputSectionDescription()
[all …]
H A DLinkerScript.cpp60 if (auto *isec = dyn_cast<InputSection>(s)) { in getOutputSectionName() local
714 osd->osec.recordSection(isec); in createSection()
727 if (isec->type == SHT_GROUP || (isec->flags & SHF_GROUP)) in addInputSec()
736 if (!isa<SyntheticSection>(isec) && in addInputSec()
737 (isec->type == SHT_REL || isec->type == SHT_RELA)) { in addInputSec()
738 auto *sec = cast<InputSection>(isec); in addInputSec()
813 sec->recordSection(isec); in addInputSec()
860 add(isec); in addOrphanSections()
1047 assert(isec->getParent() == sec); in assignOffsets()
1050 isec->outSecOff = dot - sec->addr; in assignOffsets()
[all …]
H A DRelocations.cpp109 if (errPlace.isec && errPlace.isec->name.startswith(".debug")) in reportRangeError()
869 Partition &part = isec.getPartition(); in addRelativeReloc()
1905 uint64_t thunkSecOff = isec->outSecOff; in getISDThunkSec()
1908 thunkSecOff = isec->outSecOff + isec->getSize(); in getISDThunkSec()
1912 isec->getObjMsg(src - (os->addr + isec->outSecOff))); in getISDThunkSec()
1926 OutputSection *tos = isec->getParent(); in getISThunkSec()
1935 if (isec->outSecOff < first->outSecOff || last->outSecOff < isec->outSecOff) in getISThunkSec()
1939 thunkedSections[isec] = ts; in getISThunkSec()
1983 isecLimit = isec->outSecOff + isec->getSize(); in createInitialThunkSections()
2070 t->isCompatibleWith(*isec, rel) && in getThunk()
[all …]
H A DMapFile.cpp178 for (InputSection *isec : isd->sections) { in writeMapFile()
179 if (auto *ehSec = dyn_cast<EhFrameSection>(isec)) { in writeMapFile()
184 writeHeader(os, isec->getVA(), osec->getLMA() + isec->outSecOff, in writeMapFile()
185 isec->getSize(), isec->alignment); in writeMapFile()
186 os << indent8 << toString(isec) << '\n'; in writeMapFile()
187 for (Symbol *sym : llvm::make_first_range(sectionSyms[isec])) in writeMapFile()
/llvm-project-15.0.7/lld/MachO/Arch/
H A DARM64.cpp180 : buf(buf), isec(isec), relocTargets(relocTargets), in OptimizationHintContext()
181 relocIt(isec->relocs.rbegin()) {} in OptimizationHintContext()
191 const ConcatInputSection *isec; member in __anona1e43e690211::OptimizationHintContext
323 size_t relocIdx = &reloc - isec->relocs.data(); in getRelocTarget()
333 const auto end = isec->relocs.rend(); in findPrimaryReloc()
346 auto end = isec->relocs.rend(); in findReloc()
350 auto reloc = lower_bound(isec->relocs, offset, in findReloc()
567 assert(isec); in applyOptimizationHints()
568 assert(relocTargets.size() == isec->relocs.size()); in applyOptimizationHints()
573 OptimizationHintContext ctx1(buf, isec, relocTargets); in applyOptimizationHints()
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/SLPVectorizer/X86/
H A Dvectorize-reordered-list.ll4 define void @test(double* %isec) {
21 %arrayidx5 = getelementptr inbounds double, double* %isec, i64 1
23 %arrayidx10 = getelementptr inbounds double, double* %isec, i64 0
25 %arrayidx3 = getelementptr inbounds double, double* %isec, i64 3
27 %arrayidx2 = getelementptr inbounds double, double* %isec, i64 2

123