Home
last modified time | relevance | path

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

12

/freebsd/contrib/llvm-project/lld/ELF/
H A DThunks.h30 class Thunk {
32 Thunk(Ctx &, Symbol &destination, int64_t addend);
33 virtual ~Thunk();
79 std::unique_ptr<Thunk> addThunk(Ctx &, const InputSection &isec,
84 std::unique_ptr<Thunk> addLandingPadThunk(Ctx &, Symbol &s, int64_t a);
H A DThunks.cpp58 class AArch64Thunk : public Thunk {
61 : Thunk(ctx, dest, addend), mayNeedLandingPad(mayNeedLandingPad) {} in AArch64Thunk()
124 class AArch64BTILandingPadThunk final : public Thunk {
127 : Thunk(ctx, dest, addend) {} in AArch64BTILandingPadThunk()
147 class ARMThunk : public Thunk {
149 ARMThunk(Ctx &ctx, Symbol &dest, int64_t addend) : Thunk(ctx, dest, addend) {} in ARMThunk()
179 class ThumbThunk : public Thunk {
182 : Thunk(ctx, dest, addend) { in ThumbThunk()
410 class AVRThunk : public Thunk {
412 AVRThunk(Ctx &ctx, Symbol &dest, int64_t addend) : Thunk(ctx, dest, addend) {} in AVRThunk()
[all …]
H A DRelocations.h168 class Thunk; variable
190 std::pair<Thunk *, bool> getThunk(InputSection *isec, Relocation &rel,
193 std::pair<Thunk *, bool> getSyntheticLandingPad(Defined &d, int64_t a);
211 SmallVector<std::unique_ptr<Thunk>, 0>>
214 SmallVector<std::unique_ptr<Thunk>, 0>>
219 llvm::DenseMap<Symbol *, Thunk *> thunks;
233 std::unique_ptr<Thunk>>
237 std::vector<Thunk *> allThunks;
H A DRelocations.cpp2344 std::pair<Thunk *, bool> ThunkCreator::getThunk(InputSection *isec, in getThunk()
2346 SmallVector<std::unique_ptr<Thunk>, 0> *thunkVec = nullptr; in getThunk()
2379 std::pair<Thunk *, bool> ThunkCreator::getSyntheticLandingPad(Defined &d, in getSyntheticLandingPad()
2393 if (Thunk *t = thunks.lookup(rel.sym)) { in normalizeExistingThunk()
2413 for (Thunk *t : allThunks) { in addSyntheticLandingPads()
2416 Thunk *lpt; in addSyntheticLandingPads()
2486 Thunk *t; in createThunks()
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64Arm64ECCallLowering.cpp511 Function *Thunk = Function::Create(X64Ty, GlobalValue::LinkOnceODRLinkage, 0, in buildEntryThunk() local
513 Thunk->setCallingConv(CallingConv::ARM64EC_Thunk_X64); in buildEntryThunk()
514 Thunk->setSection(".wowthk$aa"); in buildEntryThunk()
515 Thunk->setComdat(M->getOrInsertComdat(EntryThunkName)); in buildEntryThunk()
517 Thunk->addFnAttr("frame-pointer", "all"); in buildEntryThunk()
519 BasicBlock *BB = BasicBlock::Create(M->getContext(), "", Thunk); in buildEntryThunk()
528 (F->isVarArg() ? 5 : Thunk->arg_size()) - ThunkArgOffset; in buildEntryThunk()
534 Value *Arg = Thunk->getArg(i + ThunkArgOffset); in buildEntryThunk()
559 Thunk->addParamAttr(5, Attribute::InReg); in buildEntryThunk()
560 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.Name)); in visitKnownRecord()
69 error(IO.mapByteVectorTail(Thunk.VariantData)); in visitKnownRecord()
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), getThunkOrdinalNames()); in visitKnownRecord()
/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()
1199 const ThunkInfo &Thunk = TI.second; in ComputeThisAdjustments() local
1217 AddThunk(MD, Thunk); in ComputeThisAdjustments()
2032 ThunkInfo Thunk = VTableThunks.lookup(I); in dumpLayout() local
2033 if (!Thunk.isEmpty()) { in dumpLayout()
2035 if (!Thunk.Return.isEmpty()) { in dumpLayout()
2037 Out << Thunk.Return.NonVirtual << " non-virtual"; in dumpLayout()
[all …]
H A DMicrosoftMangle.cpp159 void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk,
162 const ThunkInfo &Thunk, bool ElideOverrideInfo,
3883 const ThunkInfo &Thunk, in mangleThunk() argument
3894 AccessSpecifier AS = Thunk.Return.isEmpty() ? MD->getAccess() : AS_public; in mangleThunk()
3895 mangleThunkThisAdjustment(AS, Thunk.This, Mangler, MHO); in mangleThunk()
3897 if (!Thunk.Return.isEmpty()) in mangleThunk()
3898 assert(Thunk.Method != nullptr && in mangleThunk()
3901 const CXXMethodDecl *DeclForFPT = Thunk.Method ? Thunk.Method : MD; in mangleThunk()
3908 const ThunkInfo &Thunk, in mangleCXXDtorThunk() argument
3919 auto &Adjustment = Thunk.This; in mangleCXXDtorThunk()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DGlobalMergeFunctions.cpp249 auto *Thunk = FI.F; in createThunk() local
251 assert(Thunk->arg_size() + Params.size() == in createThunk()
253 Thunk->dropAllReferences(); in createThunk()
255 BasicBlock *BB = BasicBlock::Create(Thunk->getContext(), "", Thunk); in createThunk()
263 for (Argument &AI : Thunk->args()) { in createThunk()
279 Thunk->getCallingConv() == CallingConv::SwiftTail; in createThunk()
284 if (Thunk->getReturnType()->isVoidTy()) in createThunk()
287 Builder.CreateRet(Builder.CreateAggregateCast(CI, Thunk->getReturnType())); in createThunk()
/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/llvm/lib/Target/RISCV/GISel/
H A DRISCVCallLowering.cpp104 std::function<void()> *Thunk) override { in assignCustomValue()
116 if (Thunk) { in assignCustomValue()
117 *Thunk = assignFunc; in assignCustomValue()
157 if (Thunk) { in assignCustomValue()
158 *Thunk = assignFunc; in assignCustomValue()
241 std::function<void()> *Thunk) override { in assignCustomValue()
/freebsd/contrib/llvm-project/clang/lib/InstallAPI/
H A DVisitor.cpp450 const GlobalDecl &D, const ThunkInfo &Thunk, bool ElideOverrideInfo) const { in getMangledCXXThunk() argument
455 MC->mangleCXXDtorThunk(Dtor, D.getDtorType(), Thunk, ElideOverrideInfo, in getMangledCXXThunk()
458 MC->mangleThunk(Method, Thunk, ElideOverrideInfo, NameStream); in getMangledCXXThunk()
501 for (const auto &Thunk : *Thunks) { in emitVTableSymbols()
503 getMangledCXXThunk(GD, Thunk, /*ElideOverrideInfo=*/true); in emitVTableSymbols()
/freebsd/contrib/llvm-project/llvm/include/llvm/DebugInfo/PDB/
H A DPDBSymbolThunk.h21 DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Thunk)
H A DPDBExtras.h34 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/clang/include/clang/AST/
H A DMangle.h137 virtual void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk,
140 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/sys/contrib/edk2/Include/Protocol/
H A DEbc.h212 OUT VOID **Thunk
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DDebugInfoFlags.def56 HANDLE_DI_FLAG((1 << 25), Thunk)

12