summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-01-16 04:50:58 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-01-16 04:50:58 +0000
commitc3d687667de648818fc5bb47f5229df8d8ac1926 (patch)
tree1916514667e90f42ab05dc56d8323d3d2b26ebef /llvm/lib/ExecutionEngine
parenta045b73a963c86bd2a0cabd095bc1dcf1525cd5f (diff)
downloadbcm5719-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.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