mun_codegen 0.3.0

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

%"mun_codegen::ir::types::TypeInfo" = type <{ [0 x i64], [16 x i8], [0 x i64], i8*, [0 x i64], i32, [0 x i64], i8, [3 x i8], %"mun_codegen::ir::types::TypeInfoData", [0 x i64] }>
%"mun_codegen::ir::types::TypeInfoData" = type <{ [0 x i8], i8, [39 x i8] }>

@global_type_table = external global [1 x %"mun_codegen::ir::types::TypeInfo"*]

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

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

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

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

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

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

%"mun_codegen::ir::types::TypeInfo" = type <{ [0 x i64], [16 x i8], [0 x i64], i8*, [0 x i64], i32, [0 x i64], i8, [3 x i8], %"mun_codegen::ir::types::TypeInfoData", [0 x i64] }>
%"mun_codegen::ir::types::TypeInfoData" = type <{ [0 x i8], i8, [39 x i8] }>

@"type_info::<core::f64>::name" = private unnamed_addr constant [10 x i8] c"core::f64\00"
@"type_info::<core::f64>" = private unnamed_addr constant <{ [16 x i8], i8*, [48 x i8] }> <{ [16 x i8] c"`\DBF\9C?YJ%G\AD4\9F\D5\92%A", i8* getelementptr inbounds ([10 x i8], [10 x i8]* @"type_info::<core::f64>::name", i32 0, i32 0), [48 x i8] c"@\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00" }>
@global_type_table = constant [1 x %"mun_codegen::ir::types::TypeInfo"*] [%"mun_codegen::ir::types::TypeInfo"* @"type_info::<core::f64>"]