mun_codegen 0.4.0

LLVM IR code generation for Mun
---
source: crates/mun_codegen/src/test.rs
expression: "\n    pub fn add(a: u128, b: u128) -> u128 { a + b }\n    pub fn subtract(a: u128, b: u128) -> u128 { a - b }\n    pub fn multiply(a: u128, b: u128) -> u128 { a * b }\n    pub fn divide(a: u128, b: u128) -> u128 { a / b }\n    pub fn remainder(a: u128, b: u128) -> u128 { a % b }\n                        "
---
; == FILE IR (mod) =====================================
; ModuleID = 'mod'
source_filename = "mod"

@global_type_lookup_table = external global [1 x i64*]

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

define i128 @subtract(i128 %0, i128 %1) {
body:
  %sub = sub i128 %0, %1
  ret i128 %sub
}

define i128 @multiply(i128 %0, i128 %1) {
body:
  %mul = mul i128 %0, %1
  ret i128 %mul
}

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

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

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

@global_type_lookup_table = global [1 x i64*] zeroinitializer