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