| /freebsd/contrib/llvm-project/lld/ELF/ |
| H A D | Thunks.h | 30 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 D | Thunks.cpp | 58 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 D | Relocations.h | 168 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 D | Relocations.cpp | 2344 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 D | AArch64Arm64ECCallLowering.cpp | 511 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 D | SymbolRecordHelpers.cpp | 40 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 D | SymbolRecordMapping.cpp | 59 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 D | SymbolDumper.cpp | 133 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 D | CGVTables.cpp | 41 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 D | VTableBuilder.cpp | 891 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 D | MicrosoftMangle.cpp | 159 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 D | GlobalMergeFunctions.cpp | 249 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 D | MinimalSymbolDumper.cpp | 437 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 D | MipsCallLowering.cpp | 107 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 D | RISCVCallLowering.cpp | 104 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 D | Visitor.cpp | 450 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 D | PDBSymbolThunk.h | 21 DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Thunk)
|
| H A D | PDBExtras.h | 34 const codeview::ThunkOrdinal &Thunk);
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMCallLowering.cpp | 143 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 D | Visitor.h | 63 std::string getMangledCXXThunk(const GlobalDecl &D, const ThunkInfo &Thunk,
|
| /freebsd/contrib/llvm-project/clang/include/clang/AST/ |
| H A D | Mangle.h | 137 virtual void mangleThunk(const CXXMethodDecl *MD, const ThunkInfo &Thunk, 140 const ThunkInfo &Thunk,
|
| /freebsd/contrib/llvm-project/llvm/lib/DebugInfo/PDB/ |
| H A D | PDBExtras.cpp | 190 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 D | PDBSymbol.cpp | 92 FACTORY_SYMTAG_CASE(Thunk, PDBSymbolThunk) in createSymbol()
|
| /freebsd/sys/contrib/edk2/Include/Protocol/ |
| H A D | Ebc.h | 212 OUT VOID **Thunk
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/IR/ |
| H A D | DebugInfoFlags.def | 56 HANDLE_DI_FLAG((1 << 25), Thunk)
|