diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-16 04:50:58 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-16 04:50:58 +0000 |
| commit | c3d687667de648818fc5bb47f5229df8d8ac1926 (patch) | |
| tree | 1916514667e90f42ab05dc56d8323d3d2b26ebef /llvm/lib/ExecutionEngine | |
| parent | a045b73a963c86bd2a0cabd095bc1dcf1525cd5f (diff) | |
| download | bcm5719-llvm-c3d687667de648818fc5bb47f5229df8d8ac1926.tar.gz bcm5719-llvm-c3d687667de648818fc5bb47f5229df8d8ac1926.zip | |
Prevent calls to __jit_debug_register_code from being optimized out.
Patch by Andrew MacPherson. I just tweaked the comment.
llvm-svn: 199350
Diffstat (limited to 'llvm/lib/ExecutionEngine')
| -rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp index 603c526d06e..60adc9b383d 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp @@ -47,7 +47,11 @@ extern "C" { struct jit_descriptor __jit_debug_descriptor = { 1, 0, 0, 0 }; // Debuggers puts a breakpoint in this function. - LLVM_ATTRIBUTE_NOINLINE void __jit_debug_register_code() { } + LLVM_ATTRIBUTE_NOINLINE void __jit_debug_register_code() { + // The noinline and the asm prevent calls to this function from being + // optimized out. + asm volatile("":::"memory"); + } } |

