LLVM
8.0.1
include
llvm
ExecutionEngine
MCJIT.h
Go to the documentation of this file.
1
//===-- MCJIT.h - MC-Based Just-In-Time Execution Engine --------*- C++ -*-===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file forces the MCJIT to link in on certain operating systems.
11
// (Windows).
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_EXECUTIONENGINE_MCJIT_H
16
#define LLVM_EXECUTIONENGINE_MCJIT_H
17
18
#include "
llvm/ExecutionEngine/ExecutionEngine.h
"
19
#include <cstdlib>
20
21
extern
"C"
void
LLVMLinkInMCJIT
();
22
23
namespace
{
24
struct
ForceMCJITLinking {
25
ForceMCJITLinking() {
26
// We must reference MCJIT in such a way that compilers will not
27
// delete it all as dead code, even with whole program optimization,
28
// yet is effectively a NO-OP. As the compiler isn't smart enough
29
// to know that getenv() never returns -1, this will do the job.
30
if
(std::getenv(
"bar"
) != (
char
*) -1)
31
return
;
32
33
LLVMLinkInMCJIT
();
34
}
35
} ForceMCJITLinking;
36
}
37
38
#endif
ExecutionEngine.h
LLVMLinkInMCJIT
void LLVMLinkInMCJIT()
Definition:
MCJIT.cpp:39
Generated on Sun Dec 20 2020 13:53:23 for LLVM by
1.8.13