LLVM
8.0.1
include
llvm
ExecutionEngine
OrcMCJITReplacement.h
Go to the documentation of this file.
1
//===---- OrcMCJITReplacement.h - Orc-based MCJIT replacement ---*- 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 OrcMCJITReplacement to link in on certain operating systems.
11
// (Windows).
12
//
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_EXECUTIONENGINE_ORCMCJITREPLACEMENT_H
16
#define LLVM_EXECUTIONENGINE_ORCMCJITREPLACEMENT_H
17
18
#include "
llvm/ExecutionEngine/ExecutionEngine.h
"
19
#include <cstdlib>
20
21
extern
"C"
void
LLVMLinkInOrcMCJITReplacement
();
22
23
namespace
{
24
struct
ForceOrcMCJITReplacementLinking {
25
ForceOrcMCJITReplacementLinking() {
26
// We must reference OrcMCJITReplacement in such a way that compilers will
27
// not 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 to know
29
// that getenv() never returns -1, this will do the job.
30
if
(std::getenv(
"bar"
) != (
char
*) -1)
31
return
;
32
33
LLVMLinkInOrcMCJITReplacement
();
34
}
35
} ForceOrcMCJITReplacementLinking;
36
}
37
38
#endif
ExecutionEngine.h
LLVMLinkInOrcMCJITReplacement
void LLVMLinkInOrcMCJITReplacement()
Definition:
OrcMCJITReplacement.cpp:21
Generated on Sun Dec 20 2020 13:53:24 for LLVM by
1.8.13