From: Rafael Espindola Date: Thu, 16 Jan 2014 04:50:58 +0000 (+0000) Subject: Prevent calls to __jit_debug_register_code from being optimized out. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=59c2fe1af1bc2b3107140668c9237aef9d3ad392;p=oota-llvm.git Prevent calls to __jit_debug_register_code from being optimized out. Patch by Andrew MacPherson. I just tweaked the comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199350 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp b/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp index 603c526d06e..60adc9b383d 100644 --- a/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp +++ b/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"); + } }