JIT.h 544 B

1234567891011121314151617181920212223242526
  1. #ifndef _JIT_H
  2. #define _JIT_H
  3. //LLVM includes
  4. #include "llvm/IR/LegacyPassManager.h"
  5. #include "llvm/Transforms/Scalar.h"
  6. // Local includes
  7. #include "KaleidoscopeJIT.h"
  8. #include "Ast.h"
  9. namespace jit {
  10. struct JITObjects {
  11. public:
  12. static std::unique_ptr<llvm::legacy::FunctionPassManager> TheFPM;
  13. static std::unique_ptr<llvm::orc::KaleidoscopeJIT> TheJIT;
  14. static std::map<std::string, std::unique_ptr<ast::PrototypeAST>> FunctionProtos;
  15. };
  16. void InitializeModuleAndPassManager(void);
  17. Function *getFunction(std::string Name);
  18. }
  19. #endif