1
2
3
4
5
6 #ifndef CMAJOR_IR_EMITTING_CONTEXT_INCLUDED
7 #define CMAJOR_IR_EMITTING_CONTEXT_INCLUDED
8 #include <cmajor/ir/IrApi.hpp>
9 #include <string>
10
11 namespace cmajor { namespace ir {
12
13 class EmittingContext
14 {
15 public:
16 virtual ~EmittingContext();
17 virtual int OptimizationLevel() const = 0;
18 virtual const std::string& TargetTriple() const = 0;
19 virtual void* DataLayout() = 0;
20 virtual void* TargetMachine() = 0;
21 };
22
23 } }
24
25 #endif // CMAJOR_IR_EMITTING_CONTEXT_INCLUDED