From f054aa2d7cfe570d6f91a10c8b5b3056a598d5a8 Mon Sep 17 00:00:00 2001 From: Per <Per Lindgren> Date: Thu, 10 Oct 2019 13:04:15 +0200 Subject: [PATCH] printing module --- examples/crust.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/examples/crust.rs b/examples/crust.rs index 7f92b9a..f1a7b55 100644 --- a/examples/crust.rs +++ b/examples/crust.rs @@ -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,8 +99,14 @@ fn main() -> Result<(), Box<dyn Error>> { )) { Ok((_, e)) => { println!("{:?}", &e); - let fun_expr = jit_compile_sum(&e, &context, &module, &builder, &execution_engine) - .ok_or("Unable to JIT compile `expr`")?; + let fun_expr = jit_compile_sum( + &e, + &context, + &module, + &builder, + &execution_engine, + ) + .ok_or("Unable to JIT compile `expr`")?; unsafe { println!("{}", fun_expr.call()); @@ -103,6 +114,7 @@ fn main() -> Result<(), Box<dyn Error>> { } _ => panic!(), } + println!("module: {}", module.print_to_string()); Ok(()) } -- GitLab