Skip to content
Snippets Groups Projects
Commit f054aa2d authored by Per's avatar Per
Browse files

printing module

parent d69cc691
Branches
No related tags found
No related merge requests found
......@@ -10,7 +10,9 @@ use inkwell::{
module::Module,
passes::PassManager,
types::BasicTypeEnum,
values::{BasicValueEnum, FloatValue, FunctionValue, IntValue, PointerValue},
values::{
BasicValueEnum, FloatValue, FunctionValue, IntValue, PointerValue,
},
FloatPredicate, OptimizationLevel,
};
use std::collections::HashMap;
......@@ -83,9 +85,12 @@ fn jit_compile_sum(
fn main() -> Result<(), Box<dyn Error>> {
let context = Context::create();
let module = context.create_module("expr");
let mut module = context.create_module("expr");
let builder = context.create_builder();
let execution_engine = module.create_jit_execution_engine(OptimizationLevel::None)?;
let execution_engine =
module.create_jit_execution_engine(OptimizationLevel::None)?;
// let passmanager = PassManager::create(input: I)
match parse_expr(Span::new(
"
......@@ -94,7 +99,13 @@ fn main() -> Result<(), Box<dyn Error>> {
)) {
Ok((_, e)) => {
println!("{:?}", &e);
let fun_expr = jit_compile_sum(&e, &context, &module, &builder, &execution_engine)
let fun_expr = jit_compile_sum(
&e,
&context,
&module,
&builder,
&execution_engine,
)
.ok_or("Unable to JIT compile `expr`")?;
unsafe {
......@@ -103,6 +114,7 @@ fn main() -> Result<(), Box<dyn Error>> {
}
_ => panic!(),
}
println!("module: {}", module.print_to_string());
Ok(())
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment