diff options
author | Stefan Gränitz <stefan.graenitz@gmail.com> | 2021-03-02 10:37:55 +0100 |
---|---|---|
committer | Stefan Gränitz <stefan.graenitz@gmail.com> | 2021-03-02 10:39:09 +0100 |
commit | f47ff8cff1ede6ee017f4948f25a14e63de18612 (patch) | |
tree | 069ef2eb212509694b5c3fb8b4151e8e94bd3a1f /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 3fa0e793729a4caca2f35ebe7c0b25a2615b8e8f (diff) | |
download | llvm-f47ff8cff1ede6ee017f4948f25a14e63de18612.zip llvm-f47ff8cff1ede6ee017f4948f25a14e63de18612.tar.gz llvm-f47ff8cff1ede6ee017f4948f25a14e63de18612.tar.bz2 |
[lli] Test debug support in RuntimeDyld with built-in functions
When lli runs the below IR, it emits in-memory debug objects and registers them with the GDB JIT interface. The tests dump and check the registered information. IR has limited ability to produce complex output in a portable way. Instead the tests rely on built-in functions implemented in lli. They use a new command line flag `-generate=function-name` to instruct the ORC JIT to expose the built-in function with the given name to the JITed program.
`debug-descriptor-elf-minimal.ll` calls `__dump_jit_debug_descriptor()` to reflect the list of debug entries issued for itself after emitting the main module. The output is textual and can be checked straight away.
`debug-objects-elf-minimal.ll` calls `__dump_jit_debug_objects()`, which instructs lli to walk through the list of debug entries and append the encountered in-memory objects to the program output. We feed this output into llvm-dwarfdump to parse the DWARF in each file and dump their structures.
We can do the same for JITLink once D97335 has landed.
Reviewed By: lhames
Differential Revision: https://reviews.llvm.org/D97694
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions