Go to the documentation of this file.
20 #define DEBUG_TYPE "orc"
61 #if !defined(_MSC_VER)
62 asm volatile(
"" :::
"memory");
76 dbgs() <<
"Registering debug object with GDB JIT interface "
77 <<
formatv(
"([{0:x16} -- {1:x16}])",
78 reinterpret_cast<uintptr_t
>(ObjAddr),
79 reinterpret_cast<uintptr_t
>(ObjAddr +
Size))
84 E->symfile_addr = ObjAddr;
85 E->symfile_size =
Size;
86 E->prev_entry =
nullptr;
92 E->next_entry = NextEntry;
107 using namespace orc::shared;
120 using namespace orc::shared;
struct jit_code_entry * relevant_entry
This is an optimization pass for GlobalISel generic memory operations.
SPSTuple< SPSExecutorAddr, SPSExecutorAddr > SPSExecutorAddrRange
orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBAllocAction(const char *Data, size_t Size)
ManagedStatic< std::mutex > JITDebugLock
static ErrorSuccess success()
Create a success value.
then ret i32 result Tail recursion elimination should handle
static constexpr uint32_t JitDescriptorVersion
LLVM_ATTRIBUTE_NOINLINE void __jit_debug_register_code()
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
auto formatv(const char *Fmt, Ts &&... Vals) -> formatv_object< decltype(std::make_tuple(detail::build_format_adapter(std::forward< Ts >(Vals))...))>
static GCRegistry::Add< CoreCLRGC > E("coreclr", "CoreCLR-compatible GC")
ManagedStatic - This transparently changes the behavior of global statics to be lazily constructed on...
Represents an address range in the exceutor process.
const char * symfile_addr
orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBWrapper(const char *Data, uint64_t Size)
struct jit_code_entry * next_entry
struct jit_code_entry * first_entry
static void registerJITLoaderGDBImpl(const char *ObjAddr, size_t Size)
struct jit_descriptor __jit_debug_descriptor
#define LLVM_ATTRIBUTE_NOINLINE
LLVM_ATTRIBUTE_NOINLINE - On compilers where we have a directive to do so, mark a method "not for inl...
struct jit_code_entry * prev_entry