MLIR 22.0.0git
JitRunner.cpp File Reference
#include "mlir/ExecutionEngine/JitRunner.h"
#include "mlir/Dialect/LLVMIR/LLVMDialect.h"
#include "mlir/ExecutionEngine/ExecutionEngine.h"
#include "mlir/ExecutionEngine/OptUtils.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/MLIRContext.h"
#include "mlir/Parser/Parser.h"
#include "mlir/Support/FileUtilities.h"
#include "mlir/Tools/ParseUtilities.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h"
#include "llvm/ExecutionEngine/Orc/LLJIT.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/LegacyPassNameParser.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/FileUtilities.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/StringSaver.h"
#include "llvm/Support/ToolOutputFile.h"
#include <cstdint>
#include <numeric>
#include <optional>
#include <utility>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "jit-runner"

Functions

static OwningOpRef< Operation * > parseMLIRInput (StringRef inputFilename, bool insertImplicitModule, MLIRContext *context)
static Error makeStringError (const Twine &message)
static std::optional< unsignedgetCommandLineOptLevel (Options &options)
static Error compileAndExecute (Options &options, Operation *module, StringRef entryPoint, CompileAndExecuteConfig config, void **args, std::unique_ptr< llvm::TargetMachine > tm=nullptr)
static Error compileAndExecuteVoidFunction (Options &options, Operation *module, StringRef entryPoint, CompileAndExecuteConfig config, std::unique_ptr< llvm::TargetMachine > tm)
template<typename Type>
Error checkCompatibleReturnType (LLVM::LLVMFuncOp mainFunction)
template<>
Error checkCompatibleReturnType< int32_t > (LLVM::LLVMFuncOp mainFunction)
template<>
Error checkCompatibleReturnType< int64_t > (LLVM::LLVMFuncOp mainFunction)
template<>
Error checkCompatibleReturnType< float > (LLVM::LLVMFuncOp mainFunction)
template<typename Type>
static Error compileAndExecuteSingleReturnFunction (Options &options, Operation *module, StringRef entryPoint, CompileAndExecuteConfig config, std::unique_ptr< llvm::TargetMachine > tm)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "jit-runner"

Definition at line 45 of file JitRunner.cpp.

Function Documentation

◆ checkCompatibleReturnType()

template<typename Type>
Error checkCompatibleReturnType ( LLVM::LLVMFuncOp mainFunction)

References Error.

Referenced by compileAndExecuteSingleReturnFunction().

◆ checkCompatibleReturnType< float >()

template<>
Error checkCompatibleReturnType< float > ( LLVM::LLVMFuncOp mainFunction)

Definition at line 266 of file JitRunner.cpp.

References Error, and makeStringError().

◆ checkCompatibleReturnType< int32_t >()

template<>
Error checkCompatibleReturnType< int32_t > ( LLVM::LLVMFuncOp mainFunction)

Definition at line 248 of file JitRunner.cpp.

References Error, and makeStringError().

◆ checkCompatibleReturnType< int64_t >()

template<>
Error checkCompatibleReturnType< int64_t > ( LLVM::LLVMFuncOp mainFunction)

Definition at line 257 of file JitRunner.cpp.

References Error, and makeStringError().

◆ compileAndExecute()

◆ compileAndExecuteSingleReturnFunction()

template<typename Type>
Error compileAndExecuteSingleReturnFunction ( Options & options,
Operation * module,
StringRef entryPoint,
CompileAndExecuteConfig config,
std::unique_ptr< llvm::TargetMachine > tm )
static

◆ compileAndExecuteVoidFunction()

Error compileAndExecuteVoidFunction ( Options & options,
Operation * module,
StringRef entryPoint,
CompileAndExecuteConfig config,
std::unique_ptr< llvm::TargetMachine > tm )
static

◆ getCommandLineOptLevel()

std::optional< unsigned > getCommandLineOptLevel ( Options & options)
static

Definition at line 163 of file JitRunner.cpp.

References options.

Referenced by compileAndExecute(), and mlir::JitRunnerMain().

◆ makeStringError()

◆ parseMLIRInput()

OwningOpRef< Operation * > parseMLIRInput ( StringRef inputFilename,
bool insertImplicitModule,
MLIRContext * context )
static