From: Mehdi Amini Date: Mon, 7 Dec 2015 22:27:19 +0000 (+0000) Subject: Remove useless hack that avoids calling LLVMLinkInInterpreter() X-Git-Tag: llvmorg-3.8.0-rc1~2541 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=109d04eadb300bc5ef4e4303f6c8968357a66634;p=platform%2Fupstream%2Fllvm.git Remove useless hack that avoids calling LLVMLinkInInterpreter() This is supposed to force-link the Interpreter, by inserting a dead call to LLVMLinkInInterpreter(). Since it is actually an empty function, there is no reason for the call to be dead. From: Mehdi Amini llvm-svn: 254956 --- diff --git a/llvm/include/llvm/ExecutionEngine/Interpreter.h b/llvm/include/llvm/ExecutionEngine/Interpreter.h index f49d0c4..a147078 100644 --- a/llvm/include/llvm/ExecutionEngine/Interpreter.h +++ b/llvm/include/llvm/ExecutionEngine/Interpreter.h @@ -16,22 +16,12 @@ #define LLVM_EXECUTIONENGINE_INTERPRETER_H #include "llvm/ExecutionEngine/ExecutionEngine.h" -#include extern "C" void LLVMLinkInInterpreter(); namespace { struct ForceInterpreterLinking { - ForceInterpreterLinking() { - // We must reference the interpreter in such a way that compilers will not - // delete it all as dead code, even with whole program optimization, - // yet is effectively a NO-OP. As the compiler isn't smart enough - // to know that getenv() never returns -1, this will do the job. - if (std::getenv("bar") != (char*) -1) - return; - - LLVMLinkInInterpreter(); - } + ForceInterpreterLinking() { LLVMLinkInInterpreter(); } } ForceInterpreterLinking; }