Home
last modified time | relevance | path

Searched refs:ConcatInputSection (Results 1 – 18 of 18) sorted by relevance

/llvm-project-15.0.7/lld/MachO/
H A DICF.cpp33 ICF(std::vector<ConcatInputSection *> &inputs);
44 bool equalsConstant(const ConcatInputSection *ia,
46 bool equalsVariable(const ConcatInputSection *ia,
51 std::vector<ConcatInputSection *> icfInputs;
154 if (isa<ConcatInputSection>(isecA)) in equalsConstant()
185 const ConcatInputSection *isecA, *isecB; in equalsVariable()
201 isecA = dyn_cast<ConcatInputSection>(sa); in equalsVariable()
204 isecB = cast<ConcatInputSection>(sb); in equalsVariable()
314 icfInputs, [](const ConcatInputSection *a, const ConcatInputSection *b) { in run()
351 [&](ConcatInputSection *isec) { in segregate()
[all …]
H A DConcatOutputSection.h32 const ConcatInputSection *firstSection() const { return inputs.front(); } in firstSection()
33 const ConcatInputSection *lastSection() const { return inputs.back(); } in lastSection()
46 void addInput(ConcatInputSection *input);
55 std::vector<ConcatInputSection *> inputs;
60 void finalizeOne(ConcatInputSection *);
79 std::vector<ConcatInputSection *> thunks;
95 ConcatInputSection *isec = nullptr; // input section for active thunk
H A DInputSection.h100 class ConcatInputSection final : public InputSection {
102 ConcatInputSection(const Section &section, ArrayRef<uint8_t> data,
115 void foldIdentical(ConcatInputSection *redundant);
116 ConcatInputSection *canonical() override { in canonical()
128 ConcatInputSection *replacement = nullptr;
147 ConcatInputSection *makeSyntheticInputSection(StringRef segName,
156 return isa<ConcatInputSection>(isec) && in shouldOmitFromOutput()
157 cast<ConcatInputSection>(isec)->shouldOmitFromOutput(); in shouldOmitFromOutput()
161 return isa<ConcatInputSection>(isec) && in isCoalescedWeak()
162 cast<ConcatInputSection>(isec)->isCoalescedWeak(); in isCoalescedWeak()
[all …]
H A DConcatOutputSection.cpp28 void ConcatOutputSection::addInput(ConcatInputSection *input) { in addInput()
128 for (ConcatInputSection *isec : inputs) in needsThunks()
134 for (ConcatInputSection *isec : inputs) { in needsThunks()
196 void ConcatOutputSection::finalizeOne(ConcatInputSection *isec) { in finalizeOne()
206 for (ConcatInputSection *isec : inputs) in finalizeContents()
212 for (ConcatInputSection *isec : inputs) in finalize()
238 ConcatInputSection *isec = inputs[callIdx]; in finalize()
360 for (ConcatInputSection *isec : inputs) in writeTo()
H A DInputSection.cpp32 static_assert(sizeof(void *) != 8 || sizeof(ConcatInputSection) ==
37 std::vector<ConcatInputSection *> macho::inputSections;
136 void ConcatInputSection::foldIdentical(ConcatInputSection *copy) { in foldIdentical()
172 void ConcatInputSection::writeTo(uint8_t *buf) { in writeTo()
234 ConcatInputSection *macho::makeSyntheticInputSection(StringRef segName, in makeSyntheticInputSection()
241 auto isec = make<ConcatInputSection>(section, data, align); in makeSyntheticInputSection()
H A DMarkLive.cpp80 if (auto s = dyn_cast<ConcatInputSection>(isec)) { in enqueue()
167 auto *isec = cast<ConcatInputSection>(getInputSection(entry)); in markTransitively()
183 for (ConcatInputSection *isec : inputSections) { in markTransitively()
273 for (ConcatInputSection *isec : inputSections) { in markLive()
H A DRelocations.cpp73 const ConcatInputSection *isec = osec->inputs[isecIdx]; in offsetToInputSection()
78 ConcatInputSection *isec = osec->inputs[isecIdx - 1]; in offsetToInputSection()
H A DInputFiles.cpp328 auto *isec = make<ConcatInputSection>( in parseSections()
373 auto *isec = make<ConcatInputSection>(section, data, align); in parseSections()
406 {frameOff, make<ConcatInputSection>(ehFrameSection, in splitEhFrames()
447 static Defined *findSymbolAtOffset(const ConcatInputSection *isec, in findSymbolAtOffset()
992 auto *concatIsec = cast<ConcatInputSection>(isec); in parseSymbols()
994 auto *nextIsec = make<ConcatInputSection>(*concatIsec); in parseSymbols()
1039 ConcatInputSection *isec = make<ConcatInputSection>(section, data); in OpaqueFile()
1201 ConcatInputSection *isec = cast<ConcatInputSection>(subsection.isec); in registerCompactUnwind()
1230 ConcatInputSection *referentIsec; in registerCompactUnwind()
1247 referentIsec = cast<ConcatInputSection>(sym->isec); in registerCompactUnwind()
[all …]
H A DTarget.h31 class ConcatInputSection; variable
96 virtual void applyOptimizationHints(uint8_t *buf, const ConcatInputSection *, in applyOptimizationHints() argument
H A DInputFiles.h44 class ConcatInputSection; variable
175 std::vector<ConcatInputSection *> debugSections;
177 llvm::DenseMap<ConcatInputSection *, FDE> fdes;
H A DSymbolTable.cpp73 if (auto concatIsec = dyn_cast_or_null<ConcatInputSection>(isec)) in addDefined()
81 dyn_cast_or_null<ConcatInputSection>(defined->isec)) { in addDefined()
291 ConcatInputSection *isec = makeSyntheticInputSection(segName, sectName); in handleSectionBoundarySymbol()
H A DUnwindInfoSection.cpp166 void prepareRelocations(ConcatInputSection *);
247 void UnwindInfoSectionImpl::prepareRelocations(ConcatInputSection *isec) { in prepareRelocations()
H A DSymbols.h189 ConcatInputSection *unwindEntry = nullptr;
H A DWriter.cpp646 ConcatInputSection *isec = inputSections[i]; in scanRelocations()
948 for (ConcatInputSection *isec : inputSections) { in createOutputSections()
H A DSyntheticSections.h640 ConcatInputSection *imageLoaderCache = nullptr;
H A DDriver.cpp561 auto *isec = make<ConcatInputSection>(*section, data, common->align); in replaceCommonSymbols()
1092 if (auto *isec = dyn_cast<ConcatInputSection>(subsection.isec)) { in gatherInputSections()
H A DSyntheticSections.cpp842 if (cast<ConcatInputSection>(isec)->shouldOmitFromOutput()) in collectDataInCodeEntries()
/llvm-project-15.0.7/lld/MachO/Arch/
H A DARM64.cpp38 void applyOptimizationHints(uint8_t *, const ConcatInputSection *,
178 OptimizationHintContext(uint8_t *buf, const ConcatInputSection *isec, in OptimizationHintContext()
191 const ConcatInputSection *isec;
565 void ARM64::applyOptimizationHints(uint8_t *buf, const ConcatInputSection *isec, in applyOptimizationHints()