Home
last modified time | relevance | path

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

/freebsd-13.1/contrib/llvm-project/lld/MachO/
H A DICF.cpp26 ICF(std::vector<ConcatInputSection *> &inputs);
40 std::vector<ConcatInputSection *> icfInputs;
43 ICF::ICF(std::vector<ConcatInputSection *> &inputs) { in ICF()
137 if (isa<ConcatInputSection>(isecA)) in equalsConstant()
156 const ConcatInputSection *isecA, *isecB; in equalsVariable()
168 isecB = cast<ConcatInputSection>(db->isec); in equalsVariable()
172 isecA = dyn_cast<ConcatInputSection>(sa); in equalsVariable()
175 isecB = cast<ConcatInputSection>(sb); in equalsVariable()
261 icfInputs, [](const ConcatInputSection *a, const ConcatInputSection *b) { in run()
289 std::function<bool(const ConcatInputSection *, const ConcatInputSection *)> in segregate() argument
[all …]
H A DConcatOutputSection.h32 const ConcatInputSection *firstSection() const { return inputs.front(); } in firstSection()
33 const ConcatInputSection *lastSection() const { return inputs.back(); } in lastSection()
40 void addInput(ConcatInputSection *input);
47 std::vector<ConcatInputSection *> inputs;
48 std::vector<ConcatInputSection *> thunks;
76 ConcatInputSection *isec = nullptr; // input section for active thunk
H A DMarkLive.cpp35 SmallVector<ConcatInputSection *, 256> worklist; in markLive()
41 if (auto s = dyn_cast<ConcatInputSection>(isec)) { in markLive()
106 for (ConcatInputSection *isec : inputSections) { in markLive()
128 for (ConcatInputSection *isec : in.unwindInfo->getInputs()) { in markLive()
149 ConcatInputSection *s = worklist.pop_back_val(); in markLive()
163 for (ConcatInputSection *isec : inputSections) { in markLive()
H A DInputSection.h97 class ConcatInputSection final : public InputSection {
99 ConcatInputSection(StringRef segname, StringRef name) in ConcatInputSection() function
102 ConcatInputSection(StringRef segname, StringRef name, InputFile *file,
118 void foldIdentical(ConcatInputSection *redundant);
148 static_assert(sizeof(int) != 8 || sizeof(ConcatInputSection) == 112,
155 return isa<ConcatInputSection>(isec) && in shouldOmitFromOutput()
156 cast<ConcatInputSection>(isec)->shouldOmitFromOutput(); in shouldOmitFromOutput()
160 return isa<ConcatInputSection>(isec) && in isCoalescedWeak()
161 cast<ConcatInputSection>(isec)->isCoalescedWeak(); in isCoalescedWeak()
283 extern std::vector<ConcatInputSection *> inputSections;
H A DUnwindInfoSection.h34 virtual void addInput(ConcatInputSection *) = 0;
35 std::vector<ConcatInputSection *> getInputs() { in getInputs()
42 virtual void prepareRelocations(ConcatInputSection *) = 0;
H A DInputSection.cpp29 std::vector<ConcatInputSection *> macho::inputSections;
52 bool ConcatInputSection::isHashableForICF() const { in isHashableForICF()
84 void ConcatInputSection::hashForICF() { in hashForICF()
92 void ConcatInputSection::foldIdentical(ConcatInputSection *copy) { in foldIdentical()
101 void ConcatInputSection::writeTo(uint8_t *buf) { in writeTo()
H A DUnwindInfoSection.cpp109 void prepareRelocations(ConcatInputSection *) override;
110 void addInput(ConcatInputSection *) override;
139 for (ConcatInputSection *isec : compactUnwindSection->inputs) in prepareRelocations()
144 void UnwindInfoSectionImpl<Ptr>::addInput(ConcatInputSection *isec) { in addInput()
157 void UnwindInfoSectionImpl<Ptr>::prepareRelocations(ConcatInputSection *isec) { in prepareRelocations()
177 if (!cast<ConcatInputSection>(referentIsec)->shouldOmitFromOutput()) in prepareRelocations()
236 static ConcatInputSection *checkTextSegment(InputSection *isec) { in checkTextSegment()
241 return cast<ConcatInputSection>(isec); in checkTextSegment()
255 for (const ConcatInputSection *isec : compactUnwindSection->inputs) { in relocateCompactUnwind()
275 ConcatInputSection *concatIsec = checkTextSegment(referentIsec); in relocateCompactUnwind()
H A DConcatOutputSection.cpp29 void ConcatOutputSection::addInput(ConcatInputSection *input) { in addInput()
158 ConcatInputSection *isec = inputs[callIdx]; in estimateStubsInRangeVA()
192 auto finalizeOne = [&](ConcatInputSection *isec) { in finalize()
202 for (ConcatInputSection *isec : inputs) in finalize()
224 ConcatInputSection *isec = inputs[callIdx]; in finalize()
296 make<ConcatInputSection>(isec->getSegName(), isec->getName()); in finalize()
H A DSymbolTable.cpp76 if (auto concatIsec = dyn_cast_or_null<ConcatInputSection>(isec)) in addDefined()
233 ConcatInputSection *isec = make<ConcatInputSection>(segName, sectName); in handleSectionBoundarySymbol()
H A DInputFiles.h41 class ConcatInputSection; variable
105 std::vector<ConcatInputSection *> debugSections;
H A DInputFiles.cpp279 {off, make<ConcatInputSection>(segname, name, this, in parseSections()
284 make<ConcatInputSection>(segname, name, this, data, align, flags); in parseSections()
683 sym.n_desc & N_ALT_ENTRY || !isa<ConcatInputSection>(isec)) { in parseSymbols()
688 auto *concatIsec = cast<ConcatInputSection>(isec); in parseSymbols()
690 auto *nextIsec = make<ConcatInputSection>(*concatIsec); in parseSymbols()
733 ConcatInputSection *isec = in OpaqueFile()
734 make<ConcatInputSection>(segName.take_front(16), sectName.take_front(16), in OpaqueFile()
H A DWriter.cpp637 ConcatInputSection *isec = inputSections[i]; in scanRelocations()
936 for (ConcatInputSection *isec : inputSections) { in createOutputSections()
1149 in.imageLoaderCache = make<ConcatInputSection>( in createSyntheticSections()
H A DSymbols.h123 if (auto concatIsec = dyn_cast_or_null<ConcatInputSection>(isec)) in Defined()
H A DSyntheticSections.cpp51 isec = make<ConcatInputSection>(segname, name); in SyntheticSection()
761 if (cast<ConcatInputSection>(isec)->shouldOmitFromOutput()) in collectDataInCodeEntries()
802 if (const auto *concatIsec = dyn_cast<ConcatInputSection>(defined->isec)) in finalizeContents()
H A DSyntheticSections.h606 ConcatInputSection *imageLoaderCache = nullptr;
H A DDriver.cpp593 auto *isec = make<ConcatInputSection>( in replaceCommonSymbols()
1049 if (auto *isec = dyn_cast<ConcatInputSection>(entry.isec)) { in gatherInputSections()