mun_codegen 0.4.0

LLVM IR code generation for Mun
---
source: crates/mun_codegen/src/test.rs
expression: "\n    pub fn assign(a: u8, b: u8) -> u8 {\n        a = b;\n        a\n    }\n    pub fn assign_add(a: u8, b: u8) -> u8 {\n        a += b;\n        a\n    }\n    pub fn assign_subtract(a: u8, b: u8) -> u8 {\n        a -= b;\n        a\n    }\n    pub fn assign_multiply(a: u8, b: u8) -> u8 {\n        a *= b;\n        a\n    }\n    pub fn assign_divide(a: u8, b: u8) -> u8 {\n        a /= b;\n        a\n    }\n    pub fn assign_remainder(a: u8, b: u8) -> u8 {\n        a %= b;\n        a\n    }\n                        "
---
; == FILE IR (mod) =====================================
; ModuleID = 'mod'
source_filename = "mod"

@global_type_lookup_table = external global [1 x i64*]

define i8 @assign(i8 %0, i8 %1) {
body:
  ret i8 %1
}

define i8 @assign_add(i8 %0, i8 %1) {
body:
  %add = add i8 %0, %1
  ret i8 %add
}

define i8 @assign_subtract(i8 %0, i8 %1) {
body:
  %sub = sub i8 %0, %1
  ret i8 %sub
}

define i8 @assign_multiply(i8 %0, i8 %1) {
body:
  %mul = mul i8 %0, %1
  ret i8 %mul
}

define i8 @assign_divide(i8 %0, i8 %1) {
body:
  %div = udiv i8 %0, %1
  ret i8 %div
}

define i8 @assign_remainder(i8 %0, i8 %1) {
body:
  %rem = urem i8 %0, %1
  ret i8 %rem
}

; == GROUP IR (mod) ====================================
; ModuleID = 'group_name'
source_filename = "group_name"

@global_type_lookup_table = global [1 x i64*] zeroinitializer