summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp6
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");
+ }
}
OpenPOWER on IntegriCloud