diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-11-17 16:06:43 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-11-17 16:06:43 +0000 |
commit | 6aec29848676494867e26307698155bc2c5a4033 (patch) | |
tree | 5cf5e68fb4f1a6c3286462df234750dd6221e356 /include | |
parent | 6d135972bf4e7fdc4de6b0538d6a3b91a06e3a5d (diff) | |
download | external_llvm-6aec29848676494867e26307698155bc2c5a4033.zip external_llvm-6aec29848676494867e26307698155bc2c5a4033.tar.gz external_llvm-6aec29848676494867e26307698155bc2c5a4033.tar.bz2 |
MCJIT: Stub out MCJIT implementation, still doesn't do anything useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119509 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/ExecutionEngine/MCJIT.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/llvm/ExecutionEngine/MCJIT.h b/include/llvm/ExecutionEngine/MCJIT.h new file mode 100644 index 0000000..f956a50 --- /dev/null +++ b/include/llvm/ExecutionEngine/MCJIT.h @@ -0,0 +1,38 @@ +//===-- MCJIT.h - MC-Based Just-In-Time Execution Engine --------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file forces the MCJIT to link in on certain operating systems. +// (Windows). +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_EXECUTION_ENGINE_MCJIT_H +#define LLVM_EXECUTION_ENGINE_MCJIT_H + +#include "llvm/ExecutionEngine/ExecutionEngine.h" +#include <cstdlib> + +extern "C" void LLVMLinkInMCJIT(); + +namespace { + struct ForceMCJITLinking { + ForceMCJITLinking() { + // We must reference the passes 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; + + LLVMLinkInMCJIT(); + } + } ForceMCJITLinking; +} + +#endif |