1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef CMAJOR_LLVM_INTERFACE_INCLUDED
 7 #define CMAJOR_LLVM_INTERFACE_INCLUDED
 8 #include <cmajor/cmllvm/CmllvmApi.hpp>
 9 #include <cmajor/ir/Emitter.hpp>
10 #include <cmajor/ir/EmittingContext.hpp>
11 
12 extern "C" cmajor::ir::EmittingContext* CmllvmCreateEmittingContext(int optimizationLevel);
13 extern "C" void CmllvmDestroyEmittingContext(cmajor::ir::EmittingContext* emittingContextHandle);
14 extern "C" cmajor::ir::Emitter* CmllvmCreateEmitter(void* emittingContextHandle);
15 extern "C" void CmllvmDestroyEmitter(cmajor::ir::Emitter* emitterHandle);
16 
17 
18 #endif // CMAJOR_LLVM_INTERFACE_INCLUDED