MilkIR-to-MachV lowering
Dependencies
///|
test "lower core MilkIR into semantic MachV" {
let builder = @milkir.FunctionBuilder::FunctionBuilder("add64")
let left = builder.add_param(I64)
let right = builder.add_param(I64)
builder.add_result(I64)
builder.return_([builder.iadd(left, right)])
inspect(
lower_core_function(builder.finalize()),
content=(
#|machv add64 [internal](v0:i64, v1:i64) -> (i64) {
#|block0:
#| v2:i64 = int.binary.Add v0, v1
#| return v2
#|}
),
)
}fn lower_core_function_with_protocol(function : Function, protocol : CallProtocol) -> Function raise SemanticLowerErrorfn lower_dialect_function(function : Function, dialect : String, validator : (ExtensionInstView) -> String?, global_value_validator : (GlobalValueData) -> String?, environment_parameters : Array[(Int, ValueType)], lower : (InstructionContext, ExtOp) -> String?, resolve_context_field : (ContextField) -> EnvironmentField?) -> Function raise SemanticLowerErrorfn lower_dialect_function_with_protocol(function : Function, protocol : CallProtocol, dialect : String, validator : (ExtensionInstView) -> String?, global_value_validator : (GlobalValueData) -> String?, environment_parameters : Array[(Int, ValueType)], lower : (InstructionContext, ExtOp) -> String?, resolve_context_field : (ContextField) -> EnvironmentField?) -> Function raise SemanticLowerErrorMilkIR-to-MachV lowering
Dependencies