1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 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 } } // namespace cmajor::ir
24 
25 #endif // CMAJOR_IR_EMITTING_CONTEXT_INCLUDED