Home
last modified time | relevance | path

Searched refs:Thunk (Results 1 – 25 of 42) sorted by relevance

12

/freebsd/contrib/llvm-project/lld/ELF/
H A DThunks.cpp55 class AArch64Thunk : public Thunk {
57 AArch64Thunk(Symbol &dest, int64_t addend) : Thunk(dest, addend) {} in AArch64Thunk()
96 class ARMThunk : public Thunk {
98 ARMThunk(Symbol &dest, int64_t addend) : Thunk(dest, addend) {} in ARMThunk()
126 class ThumbThunk : public Thunk {
128 ThumbThunk(Symbol &dest, int64_t addend) : Thunk(dest, addend) { in ThumbThunk()
307 class AVRThunk : public Thunk {
309 AVRThunk(Symbol &dest, int64_t addend) : Thunk(dest, addend) {} in AVRThunk()
316 class MipsThunk final : public Thunk {
318 MipsThunk(Symbol &dest) : Thunk(dest, 0) {} in MipsThunk()
[all …]
H A DThunks.h29 class Thunk {
31 Thunk(Symbol &destination, int64_t addend);
32 virtual ~Thunk();
70 Thunk *addThunk(const InputSection &isec, Relocation &rel);
H A DRelocations.h154 class Thunk; variable
173 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel,
188 std::vector<Thunk *>>
190 llvm::DenseMap<std::pair<Symbol *, int64_t>, std::vector<Thunk *>>
195 llvm::DenseMap<Symbol *, Thunk *> thunks;
H A DRelocations.cpp2218 std::pair<Thunk *, bool> ThunkCreator::getThunk(InputSection *isec, in getThunk()
2220 std::vector<Thunk *> *thunkVec = nullptr; in getThunk()
2241 for (Thunk *t : *thunkVec) in getThunk()
2249 Thunk *t = addThunk(*isec, rel); in getThunk()
2259 if (Thunk *t = thunks.lookup(rel.sym)) { in normalizeExistingThunk()
2324 Thunk *t; in createThunks()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64Arm64ECCallLowering.cpp517 Function *Thunk = Function::Create(X64Ty, GlobalValue::LinkOnceODRLinkage, 0, in buildEntryThunk() local
519 Thunk->setCallingConv(CallingConv::ARM64EC_Thunk_X64); in buildEntryThunk()
520 Thunk->setSection(".wowthk$aa"); in buildEntryThunk()
521 Thunk->setComdat(M->getOrInsertComdat(EntryThunkName)); in buildEntryThunk()
523 Thunk->addFnAttr("frame-pointer", "all"); in buildEntryThunk()
525 BasicBlock *BB = BasicBlock::Create(M->getContext(), "", Thunk); in buildEntryThunk()
534 (F->isVarArg() ? 5 : Thunk->arg_size()) - ThunkArgOffset; in buildEntryThunk()
540 Value *Arg = Thunk->getArg(i + ThunkArgOffset); in buildEntryThunk()
565 Thunk->addParamAttr(5, Attribute::InReg); in buildEntryThunk()
566 Value *Arg = Thunk->getArg(5); in buildEntryThunk()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/
H A DSymbolRecordHelpers.cpp40 Thunk32Sym Thunk = createRecord<Thunk32Sym>(Sym); in getScopeEndOffset() local
41 return Thunk.End; in getScopeEndOffset()
71 Thunk32Sym Thunk = createRecord<Thunk32Sym>(Sym); in getScopeParentOffset() local
72 return Thunk.Parent; in getScopeParentOffset()
H A DSymbolRecordMapping.cpp59 Error SymbolRecordMapping::visitKnownRecord(CVSymbol &CVR, Thunk32Sym &Thunk) { in visitKnownRecord() argument
61 error(IO.mapInteger(Thunk.Parent)); in visitKnownRecord()
62 error(IO.mapInteger(Thunk.End)); in visitKnownRecord()
63 error(IO.mapInteger(Thunk.Next)); in visitKnownRecord()
64 error(IO.mapInteger(Thunk.Offset)); in visitKnownRecord()
65 error(IO.mapInteger(Thunk.Segment)); in visitKnownRecord()
66 error(IO.mapInteger(Thunk.Length)); in visitKnownRecord()
67 error(IO.mapEnum(Thunk.Thunk)); in visitKnownRecord()
68 error(IO.mapStringZ(Thunk in visitKnownRecord()
[all...]
H A DSymbolDumper.cpp133 Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Thunk32Sym &Thunk) { in visitKnownRecord() argument
134 W.printString("Name", Thunk.Name); in visitKnownRecord()
135 W.printNumber("Parent", Thunk.Parent); in visitKnownRecord()
136 W.printNumber("End", Thunk.End); in visitKnownRecord()
137 W.printNumber("Next", Thunk.Next); in visitKnownRecord()
138 W.printNumber("Off", Thunk.Offset); in visitKnownRecord()
139 W.printNumber("Seg", Thunk.Segment); in visitKnownRecord()
140 W.printNumber("Len", Thunk.Length); in visitKnownRecord()
141 W.printEnum("Ordinal", uint8_t(Thunk.Thunk), getThunkOrdinalName in visitKnownRecord()
[all...]
/freebsd/contrib/llvm-project/clang/lib/CodeGen/
H A DCGVTables.cpp41 static void setThunkProperties(CodeGenModule &CGM, const ThunkInfo &Thunk, in setThunkProperties() argument
46 !Thunk.Return.isEmpty()); in setThunkProperties()
72 const ThunkInfo &Thunk) { in PerformReturnAdjustment() argument
98 ClassDecl, Thunk.Return); in PerformReturnAdjustment()
168 GlobalDecl GD, const ThunkInfo &Thunk) { in GenerateVarArgsThunk() argument
223 const CXXRecordDecl *ThisValueClass = Thunk.ThisType->getPointeeCXXRecordDecl(); in GenerateVarArgsThunk()
225 *this, ThisPtr, ThisValueClass, Thunk); in GenerateVarArgsThunk()
230 if (!Thunk.Return.isEmpty()) { in GenerateVarArgsThunk()
238 RV = PerformReturnAdjustment(*this, ResultType, RV, Thunk); in GenerateVarArgsThunk()
305 const ThunkInfo *Thunk, in EmitCallAndReturnForThunk() argument
[all …]
/freebsd/contrib/llvm-project/clang/lib/AST/
H A DVTableBuilder.cpp891 void AddThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk);
1072 const ThunkInfo &Thunk) { in AddThunk() argument
1079 if (llvm::is_contained(ThunksVector, Thunk)) in AddThunk()
1082 ThunksVector.push_back(Thunk); in AddThunk()
1198 const ThunkInfo &Thunk = TI.second; in ComputeThisAdjustments() local
1216 AddThunk(MD, Thunk); in ComputeThisAdjustments()
2030 ThunkInfo Thunk = VTableThunks.lookup(I); in dumpLayout() local
2031 if (!Thunk.isEmpty()) { in dumpLayout()
2033 if (!Thunk.Return.isEmpty()) { in dumpLayout()
2035 Out << Thunk.Return.NonVirtual << " non-virtual"; in dumpLayout()
[all …]
H A DMicrosoftMangle.cpp161 void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk,
164 const ThunkInfo &Thunk, bool ElideOverrideInfo,
3791 const ThunkInfo &Thunk, in mangleThunk() argument
3802 AccessSpecifier AS = Thunk.Return.isEmpty() ? MD->getAccess() : AS_public; in mangleThunk()
3803 mangleThunkThisAdjustment(AS, Thunk.This, Mangler, MHO); in mangleThunk()
3805 if (!Thunk.Return.isEmpty()) in mangleThunk()
3806 assert(Thunk.Method != nullptr && in mangleThunk()
3809 const CXXMethodDecl *DeclForFPT = Thunk.Method ? Thunk.Method : MD; in mangleThunk()
3816 const ThunkInfo &Thunk, in mangleCXXDtorThunk() argument
3827 auto &Adjustment = Thunk.This; in mangleCXXDtorThunk()
H A DItaniumMangle.cpp102 void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk, bool,
105 const ThunkInfo &Thunk, bool, raw_ostream &) override;
7071 const ThunkInfo &Thunk) { in mangleOverrideDiscrimination() argument
7073 const CXXRecordDecl *ThisRD = Thunk.ThisType->getPointeeCXXRecordDecl(); in mangleOverrideDiscrimination()
7124 const ThunkInfo &Thunk, in mangleThunk() argument
7138 if (!Thunk.Return.isEmpty()) in mangleThunk()
7142 Mangler.mangleCallOffset(Thunk.This.NonVirtual, in mangleThunk()
7143 Thunk.This.Virtual.Itanium.VCallOffsetOffset); in mangleThunk()
7146 if (!Thunk.Return.isEmpty()) in mangleThunk()
7147 Mangler.mangleCallOffset(Thunk.Return.NonVirtual, in mangleThunk()
[all …]
/freebsd/contrib/llvm-project/llvm/tools/llvm-pdbutil/
H A DMinimalSymbolDumper.cpp437 Error MinimalSymbolDumper::visitKnownRecord(CVSymbol &CVR, Thunk32Sym &Thunk) { in visitKnownRecord() argument
438 P.format(" `{0}`", Thunk.Name); in visitKnownRecord()
440 P.formatLine("parent = {0}, end = {1}, next = {2}", Thunk.Parent, Thunk.End, in visitKnownRecord()
441 Thunk.Next); in visitKnownRecord()
443 formatThunkOrdinal(Thunk.Thunk), Thunk.Length, in visitKnownRecord()
444 formatSegmentOffset(Thunk.Segment, Thunk.Offset)); in visitKnownRecord()
/freebsd/contrib/llvm-project/llvm/lib/Target/Mips/
H A DMipsCallLowering.cpp107 std::function<void()> *Thunk = nullptr) override;
169 std::function<void()> *Thunk) { in assignCustomValue() argument
214 std::function<void()> *Thunk) override;
261 std::function<void()> *Thunk) { in assignCustomValue() argument
281 if (Thunk) { in assignCustomValue()
282 *Thunk = [=]() { in assignCustomValue()
/freebsd/contrib/llvm-project/clang/lib/InstallAPI/
H A DVisitor.cpp451 const GlobalDecl &D, const ThunkInfo &Thunk, bool ElideOverrideInfo) const { in getMangledCXXThunk() argument
456 MC->mangleCXXDtorThunk(Dtor, D.getDtorType(), Thunk, ElideOverrideInfo, in getMangledCXXThunk()
459 MC->mangleThunk(Method, Thunk, ElideOverrideInfo, NameStream); in getMangledCXXThunk()
502 for (const auto &Thunk : *Thunks) { in emitVTableSymbols()
504 getMangledCXXThunk(GD, Thunk, /*ElideOverrideInfo=*/true); in emitVTableSymbols()
/freebsd/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/
H A DPDBSymbolThunk.h20 DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Thunk)
H A DPDBExtras.h32 raw_ostream &operator<<(raw_ostream &OS, const codeview::ThunkOrdinal &Thunk);
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMCallLowering.cpp143 std::function<void()> *Thunk) override { in assignCustomValue()
171 if (Thunk) { in assignCustomValue()
172 *Thunk = [=]() { in assignCustomValue()
319 std::function<void()> *Thunk) override { in assignCustomValue()
/freebsd/contrib/llvm-project/clang/include/clang/InstallAPI/
H A DVisitor.h63 std::string getMangledCXXThunk(const GlobalDecl &D, const ThunkInfo &Thunk,
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/GISel/
H A DRISCVCallLowering.cpp121 std::function<void()> *Thunk) override { in assignCustomValue()
155 if (Thunk) { in assignCustomValue()
156 *Thunk = assignFunc; in assignCustomValue()
247 std::function<void()> *Thunk) override { in assignCustomValue()
/freebsd/contrib/llvm-project/clang/include/clang/AST/
H A DMangle.h133 virtual void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk,
136 const ThunkInfo &Thunk,
/freebsd/contrib/llvm-project/llvm/lib/DebugInfo/PDB/
H A DPDBExtras.cpp190 const codeview::ThunkOrdinal &Thunk) { in operator <<() argument
191 switch (Thunk) { in operator <<()
273 CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, Thunk, OS) in operator <<()
H A DPDBSymbol.cpp92 FACTORY_SYMTAG_CASE(Thunk, PDBSymbolThunk) in createSymbol()
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DDebugInfoFlags.def56 HANDLE_DI_FLAG((1 << 25), Thunk)
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/GlobalISel/
H A DCallLowering.cpp768 std::function<void()> Thunk; in handleAssignments() local
770 Args[i], ArrayRef(ArgLocs).slice(j), &Thunk); in handleAssignments()
771 if (Thunk) in handleAssignments()
772 DelayedOutgoingRegAssignments.emplace_back(Thunk); in handleAssignments()

12