roadrunner  2.6.0
Fast simulator for SBML models
LLVMIncludes.h
1 /*
2  * LLVMIncludes.h
3  *
4  * Created on: Jun 29, 2013
5  * Author: andy
6  */
7 
8 #ifndef RRLLVMINCLUDES_H_
9 #define RRLLVMINCLUDES_H_
10 
11 #if !defined(LLVM_VERSION_MINOR)
12 
13 // this is likely a very common macro, so save it
14 #pragma push_macro("CONFIG_H")
15 #include <llvm/Config/llvm-config.h>
16 #pragma pop_macro("CONFIG_H")
17 #endif
18 
19 #pragma push_macro("min")
20 #pragma push_macro("max")
21 
22 #undef min
23 #undef max
24 
25 #ifdef _MSC_VER
26 #pragma warning( push )
27 #pragma warning(disable: 4146)
28 #pragma warning(disable: 4141)
29 #pragma warning(disable: 4267)
30 #pragma warning(disable: 4624)
31 #pragma warning( disable : 4355 )
32 #pragma warning( disable : 4244 )
33 #endif
34 
35 
36 #if (LLVM_VERSION_MAJOR >= 12)
37 #include "llvm/Transforms/InstCombine/InstCombine.h"
38 
39 #endif
40 
41 #if (LLVM_VERSION_MAJOR >= 6)
42 #include <llvm/IR/DataLayout.h>
43 #include <llvm/IR/DerivedTypes.h>
44 #include <llvm/IR/IRBuilder.h>
45 #include <llvm/IR/LLVMContext.h>
46 #include <llvm/IR/Module.h>
47 #include <llvm/IR/Intrinsics.h>
48 #include <llvm/IR/Verifier.h>
49 #elif (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR >= 5)
50 #include <llvm/IR/DataLayout.h>
51 #include <llvm/IR/DerivedTypes.h>
52 #include <llvm/IR/IRBuilder.h>
53 #include <llvm/IR/LLVMContext.h>
54 #include <llvm/IR/Module.h>
55 #include <llvm/IR/Intrinsics.h>
56 #include <llvm/IR/Verifier.h>
57 #elif (LLVM_VERSION_MAJOR == 3) && ((LLVM_VERSION_MINOR == 3) || (LLVM_VERSION_MINOR == 4))
58 #include <llvm/IR/DataLayout.h>
59 #include <llvm/IR/DerivedTypes.h>
60 #include <llvm/IR/IRBuilder.h>
61 #include <llvm/IR/LLVMContext.h>
62 #include <llvm/IR/Module.h>
63 #include <llvm/IR/Intrinsics.h>
64 #include <llvm/Analysis/Verifier.h>
65 #elif (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR == 2)
66 #include <llvm/DataLayout.h>
67 #include <llvm/DerivedTypes.h>
68 #include <llvm/IRBuilder.h>
69 #include <llvm/LLVMContext.h>
70 #include <llvm/Module.h>
71 #include <llvm/Intrinsics.h>
72 #include <llvm/Analysis/Verifier.h>
73 #elif (LLVM_VERSION_MAJOR == 3) && (LLVM_VERSION_MINOR == 1)
74 #include <llvm/DerivedTypes.h>
75 #include <llvm/ExecutionEngine/ExecutionEngine.h>
76 #include <llvm/ExecutionEngine/JIT.h>
77 #include <llvm/LLVMContext.h>
78 #include <llvm/Module.h>
79 #include <llvm/PassManager.h>
80 #include <llvm/Target/TargetData.h>
81 #include <llvm/Transforms/Scalar.h>
82 #include <llvm/Support/IRBuilder.h>
83 #include <llvm/Support/TargetSelect.h>
84 #include <llvm/Analysis/Verifier.h>
85 #else
86 #error "Unsupported LLVM Version, require LLVM >= 3.1"
87 #endif
88 
89 #include <llvm/Analysis/Passes.h>
90 #include <llvm/ExecutionEngine/ExecutionEngine.h>
91 #include <llvm/ExecutionEngine/MCJIT.h>
92 #include <llvm/IR/PassManager.h>
93 #include <llvm/Support/TargetSelect.h>
94 #include <llvm/Transforms/Scalar.h>
95 #include <llvm/Support/raw_ostream.h>
96 #include <llvm/Analysis/TargetLibraryInfo.h>
97 #include <llvm/Support/raw_ostream.h>
98 #include <llvm/Support/Host.h>
99 
100 #ifdef _MSC_VER
101 #pragma warning( pop )
102 #endif
103 
104 #ifdef _MSC_VER
105 #pragma warning(default: 4146)
106 #pragma warning(default: 4141)
107 #pragma warning(default: 4267)
108 #pragma warning(default: 4624)
109 #endif
110 
111 #pragma pop_macro("min")
112 #pragma pop_macro("max")
113 
114 namespace rrllvm {
118 std::string to_string(const llvm::Value *);
119 }
120 
121 
122 
123 
124 #endif /* RRLLVMINCLUDES_H_ */