diff --git a/crates/compiler/builtins/roc/Num.roc b/crates/compiler/builtins/roc/Num.roc index a48abf6182a..b48eb47245a 100644 --- a/crates/compiler/builtins/roc/Num.roc +++ b/crates/compiler/builtins/roc/Num.roc @@ -121,6 +121,8 @@ module [ maxI128, minU128, maxU128, + minDec, + maxDec, minF32, maxF32, minF64, @@ -145,6 +147,8 @@ module [ toU64Checked, toU128, toU128Checked, + toDec, + toDecChecked, toF32, toF32Checked, toF64, @@ -1386,6 +1390,12 @@ minU128 = 0 maxU128 : U128 maxU128 = 340282366920938463463374607431768211455 +minDec : Dec +minDec = -170141183460469231731.687303715884105728 + +maxDec : Dec +maxDec = 170141183460469231731.687303715884105727 + minF32 : F32 minF32 = -3.40282347e38 @@ -1411,6 +1421,7 @@ toU32 : Int * -> U32 toU64 : Int * -> U64 toU128 : Int * -> U128 +toDec : Num * -> Dec ## Converts a [Num] to an [F32]. If the given number can't be precisely represented in an [F32], ## the returned number may be different from the given number. toF32 : Num * -> F32 @@ -1432,6 +1443,7 @@ toU16Checked : Int * -> Result U16 [OutOfBounds] toU32Checked : Int * -> Result U32 [OutOfBounds] toU64Checked : Int * -> Result U64 [OutOfBounds] toU128Checked : Int * -> Result U128 [OutOfBounds] +toDecChecked : Num * -> Result Dec [OutOfBounds] toF32Checked : Num * -> Result F32 [OutOfBounds] toF64Checked : Num * -> Result F64 [OutOfBounds] diff --git a/crates/compiler/can/src/builtins.rs b/crates/compiler/can/src/builtins.rs index 6b4c99ee5e3..6eaeedee49a 100644 --- a/crates/compiler/can/src/builtins.rs +++ b/crates/compiler/can/src/builtins.rs @@ -35,7 +35,7 @@ macro_rules! map_symbol_to_lowlevel_and_arity { Symbol::NUM_TO_U128 => Some(lowlevel_1(Symbol::NUM_TO_U128, LowLevel::NumIntCast, var_store)), Symbol::NUM_INT_CAST => Some(lowlevel_1(Symbol::NUM_INT_CAST, LowLevel::NumIntCast, var_store)), - + Symbol::NUM_TO_DEC => Some(lowlevel_1(Symbol::NUM_TO_DEC, LowLevel::NumToDecCast, var_store)), Symbol::NUM_TO_F32 => Some(lowlevel_1(Symbol::NUM_TO_F32, LowLevel::NumToFloatCast, var_store)), Symbol::NUM_TO_F64 => Some(lowlevel_1(Symbol::NUM_TO_F64, LowLevel::NumToFloatCast, var_store)), @@ -50,6 +50,8 @@ macro_rules! map_symbol_to_lowlevel_and_arity { Symbol::NUM_TO_U64_CHECKED => Some(to_num_checked(Symbol::NUM_TO_U64_CHECKED, var_store, LowLevel::NumToIntChecked)), Symbol::NUM_TO_U128_CHECKED => Some(to_num_checked(Symbol::NUM_TO_U128_CHECKED, var_store, LowLevel::NumToIntChecked)), + Symbol::NUM_TO_DEC_CHECKED => Some(to_num_checked(Symbol::NUM_TO_DEC_CHECKED, var_store, LowLevel::NumToDecChecked)), + Symbol::NUM_TO_F32_CHECKED => Some(to_num_checked(Symbol::NUM_TO_F32_CHECKED, var_store, LowLevel::NumToFloatChecked)), Symbol::NUM_TO_F64_CHECKED => Some(to_num_checked(Symbol::NUM_TO_F64_CHECKED, var_store, LowLevel::NumToFloatChecked)), @@ -79,7 +81,8 @@ macro_rules! map_symbol_to_lowlevel_and_arity { LowLevel::NumToFloatCast => unreachable!(), LowLevel::NumToIntChecked => unreachable!(), LowLevel::NumToFloatChecked => unreachable!(), - + LowLevel::NumToDecCast => unreachable!(), + LowLevel::NumToDecChecked => unreachable!(), // these are used internally and not tied to a symbol LowLevel::Hash => unimplemented!(), LowLevel::PtrCast => unimplemented!(), diff --git a/crates/compiler/gen_dev/src/lib.rs b/crates/compiler/gen_dev/src/lib.rs index 8eca9aa5ee3..fe519bd619d 100644 --- a/crates/compiler/gen_dev/src/lib.rs +++ b/crates/compiler/gen_dev/src/lib.rs @@ -1883,6 +1883,7 @@ trait Backend<'a> { self.build_num_int_cast(sym, &args[0], source_width, target_width) } + LowLevel::NumIsMultipleOf => { let int_width = arg_layouts[0].try_int_width().unwrap(); let intrinsic = bitcode::NUM_IS_MULTIPLE_OF[int_width].to_string(); diff --git a/crates/compiler/gen_llvm/src/llvm/build.rs b/crates/compiler/gen_llvm/src/llvm/build.rs index 241d35c2570..9d0aa7f54f3 100644 --- a/crates/compiler/gen_llvm/src/llvm/build.rs +++ b/crates/compiler/gen_llvm/src/llvm/build.rs @@ -1065,6 +1065,7 @@ pub fn module_from_builtins<'ctx>( "__modti3", "__muloti4", "__udivti3", + "__fixdfti", "__umodti3", // Roc special functions "__roc_force_longjmp", diff --git a/crates/compiler/gen_llvm/src/llvm/lowlevel.rs b/crates/compiler/gen_llvm/src/llvm/lowlevel.rs index d414ce8dc3b..b0b1b95a179 100644 --- a/crates/compiler/gen_llvm/src/llvm/lowlevel.rs +++ b/crates/compiler/gen_llvm/src/llvm/lowlevel.rs @@ -1169,6 +1169,135 @@ pub(crate) fn run_low_level<'a, 'ctx>( let Ok(value) = result else { todo!() }; value.into() } + NumToDecCast | NumToDecChecked => { + let checked = matches!(op, NumToDecChecked); + const DEC_RIGHT_DIGITS: u64 = 10u64.pow(18); + const MAX_DEC_F: f64 = 170_141_183_460_469_231_731.687_303_715_884_105_727; + const MAX_DEC_IH: u64 = 9; + const MAX_DEC_IL: u64 = 4120486797000000000; + let to = env.context.i128_type(); + let float_type = env.context.f64_type(); + let llvm_digits = to.const_int(DEC_RIGHT_DIGITS, false); + let llvm_max_dec_f = float_type.const_float(MAX_DEC_F); + let llvm_max_dec_i = to.const_int_arbitrary_precision(&[MAX_DEC_IL, MAX_DEC_IH]); + let llvm_min_dec_i = to + .const_int_arbitrary_precision(&[MAX_DEC_IL, MAX_DEC_IH]) + .const_not(); + let llvm_divisor = float_type.const_float(DEC_RIGHT_DIGITS as f64); + + arguments_with_layouts!((arg, arg_layout)); + //Get the actual value that we are converting to + let result = match layout_interner.get_repr(arg_layout) { + //If integer + LayoutRepr::Builtin(Builtin::Int(width)) => { + //Extend to I128 + let Ok(converted_value) = (if width.is_signed() { + env.builder + .build_int_s_extend(arg.into_int_value(), to, "inc_cast") + } else { + env.builder + .build_int_z_extend(arg.into_int_value(), to, "inc_cast") + }) else { + todo!() + }; + //Add decimal places + let Ok(result) = + env.builder + .build_int_mul(converted_value, llvm_digits, "deci_cast") + else { + todo!() + }; + result.as_basic_value_enum() + } + LayoutRepr::Builtin(Builtin::Float(_)) => { + let Ok(float_result) = env.builder.build_float_mul( + arg.into_float_value(), + llvm_divisor, + "decf_cast", + ) else { + todo!() + }; + let Ok(int_result) = + env.builder + .build_float_to_signed_int(float_result, to, "dec_place") + else { + todo!() + }; + int_result.as_basic_value_enum() + } + LayoutRepr::Builtin(Builtin::Decimal) => arg, + _ => { + todo!() + } + }; + //Look and see if the conversion is checked or not + if checked { + let bool_false = env.context.bool_type().const_zero(); + let with_overflow = match layout_interner.get_repr(arg_layout) { + //If the value being is converted into a integer + LayoutRepr::Builtin(Builtin::Int(width)) => { + //`Dec` can always fit `I64`s and `U64`s and smaller, no need to check at runtime + if width.stack_size() <= 4 { + bool_false + } else if width.is_signed() { + let compare_arg = env + .builder + .build_int_z_extend_or_bit_cast( + arg.into_int_value(), + to, + "int_cast", + ) + .unwrap(); + //If VA > +Dec + let pos_res = env.builder.new_build_int_compare( + inkwell::IntPredicate::SGT, + compare_arg, + llvm_max_dec_i, + "int_compare", + ); + //If VA < -Dec + let neg_res = env.builder.new_build_int_compare( + inkwell::IntPredicate::SGT, + llvm_min_dec_i, + compare_arg, + "int_compare", + ); + env.builder.new_build_or(pos_res, neg_res, "or_ops") + } else { + env.builder.new_build_int_compare( + inkwell::IntPredicate::SGT, + arg.into_int_value(), + llvm_max_dec_i, + "int_compare", + ) + } + } + LayoutRepr::Builtin(Builtin::Float(_)) => env.builder.new_build_float_compare( + inkwell::FloatPredicate::OGT, + arg.into_float_value(), + llvm_max_dec_f, + "float_compare", + ), + //A decimal can obviously fit itself + LayoutRepr::Builtin(Builtin::Decimal) => bool_false, + _ => { + unreachable!() + } + }; + + let return_int_type: BasicTypeEnum = env.context.i128_type().into(); + result_with( + env, + return_int_type, + result, + env.context.bool_type().into(), + with_overflow, + ) + .into() + } else { + result + } + } NumToFloatCast => { arguments_with_layouts!((arg, arg_layout)); @@ -2876,3 +3005,25 @@ fn load_symbol_and_lambda_set<'a, 'ctx>( other => panic!("Not a lambda set: {other:?}, {ptr:?}"), } } +use inkwell::types::BasicTypeEnum; +///Change from a basic LLVM value to a Roc `Result` +fn result_with<'ctx>( + env: &Env<'_, 'ctx, '_>, + good_type: BasicTypeEnum, + good_value: impl BasicValue<'ctx>, + bad_type: BasicTypeEnum, + bad_value: impl BasicValue<'ctx>, +) -> StructValue<'ctx> { + let struct_type = env.context.struct_type(&[good_type, bad_type], false); + let return_value = struct_type.const_zero(); + let return_value = env + .builder + .build_insert_value(return_value, good_value, 0, "good_value") + .unwrap(); + let return_value = env + .builder + .build_insert_value(return_value, bad_value, 1, "is_bad") + .unwrap(); + + return_value.into_struct_value() +} diff --git a/crates/compiler/gen_wasm/src/low_level.rs b/crates/compiler/gen_wasm/src/low_level.rs index 1e4c05c3db6..921ed88c343 100644 --- a/crates/compiler/gen_wasm/src/low_level.rs +++ b/crates/compiler/gen_wasm/src/low_level.rs @@ -2066,6 +2066,12 @@ impl<'a> LowLevelCall<'a> { _ => todo!("{:?}: {:?} -> {:?}", self.lowlevel, arg_type, ret_type), } } + NumToDecCast => { + todo!("Need to implement this"); + } + NumToDecChecked => { + todo!("Need to implement this"); + } NumToFloatCast => { self.load_args(backend); let arg_layout = backend.storage.symbol_layouts[&self.arguments[0]]; diff --git a/crates/compiler/module/src/low_level.rs b/crates/compiler/module/src/low_level.rs index 2f40c002a8f..c33027432ff 100644 --- a/crates/compiler/module/src/low_level.rs +++ b/crates/compiler/module/src/low_level.rs @@ -95,8 +95,10 @@ pub enum LowLevel { NumShiftRightZfBy, NumIntCast, NumToFloatCast, + NumToDecCast, NumToIntChecked, NumToFloatChecked, + NumToDecChecked, NumToStr, NumCountLeadingZeroBits, NumCountTrailingZeroBits, @@ -216,7 +218,8 @@ macro_rules! map_symbol_to_lowlevel { LowLevel::NumToFloatCast => unreachable!(), LowLevel::NumToIntChecked => unreachable!(), LowLevel::NumToFloatChecked => unreachable!(), - + LowLevel::NumToDecCast => unreachable!(), + LowLevel::NumToDecChecked => unreachable!(), // these are used internally and not tied to a symbol LowLevel::Hash => unimplemented!(), diff --git a/crates/compiler/module/src/symbol.rs b/crates/compiler/module/src/symbol.rs index 47a2e5f8e25..6f94aa4fb94 100644 --- a/crates/compiler/module/src/symbol.rs +++ b/crates/compiler/module/src/symbol.rs @@ -1349,6 +1349,10 @@ define_builtins! { 166 NUM_NAN_F64: "nanF64" 167 NUM_INFINITY_F32: "infinityF32" 168 NUM_INFINITY_F64: "infinityF64" + 169 NUM_TO_DEC: "toDec" + 170 NUM_TO_DEC_CHECKED: "toDecChecked" + 171 NUM_MAX_DEC: "maxDec" + 172 NUM_MIN_DEC: "minDec" } 4 BOOL: "Bool" => { 0 BOOL_BOOL: "Bool" exposed_type=true // the Bool.Bool type alias diff --git a/crates/compiler/mono/src/drop_specialization.rs b/crates/compiler/mono/src/drop_specialization.rs index 7490318f17f..087452a5271 100644 --- a/crates/compiler/mono/src/drop_specialization.rs +++ b/crates/compiler/mono/src/drop_specialization.rs @@ -1592,6 +1592,8 @@ fn low_level_no_rc(lowlevel: &LowLevel) -> RC { | NumToIntChecked | NumToFloatCast | NumToFloatChecked + | NumToDecCast + | NumToDecChecked | NumCountLeadingZeroBits | NumCountTrailingZeroBits | NumCountOneBits diff --git a/crates/compiler/mono/src/inc_dec.rs b/crates/compiler/mono/src/inc_dec.rs index 1d9cf29a67d..703b58ca1f2 100644 --- a/crates/compiler/mono/src/inc_dec.rs +++ b/crates/compiler/mono/src/inc_dec.rs @@ -1289,6 +1289,8 @@ pub(crate) fn lowlevel_borrow_signature(op: LowLevel) -> &'static [Ownership] { | NumAsin | NumIntCast | NumToIntChecked + | NumToDecCast + | NumToDecChecked | NumToFloatCast | NumToFloatChecked | NumCountLeadingZeroBits diff --git a/crates/compiler/mono/src/low_level.rs b/crates/compiler/mono/src/low_level.rs index d21369fb9f9..c581abedfc2 100644 --- a/crates/compiler/mono/src/low_level.rs +++ b/crates/compiler/mono/src/low_level.rs @@ -96,6 +96,7 @@ enum FirstOrder { NumShiftRightZfBy, NumIntCast, NumFloatCast, + NumToDecCast, Eq, NotEq, And, diff --git a/crates/compiler/test_gen/src/gen_num.rs b/crates/compiler/test_gen/src/gen_num.rs index 5977efcd0ee..4eb4aeffc8d 100644 --- a/crates/compiler/test_gen/src/gen_num.rs +++ b/crates/compiler/test_gen/src/gen_num.rs @@ -4116,3 +4116,39 @@ fn cast_signed_unsigned() { assert_evals_to!(r"Num.toU8 127i8", 127, u8); assert_evals_to!(r"Num.toI8 127u8", 127, i8); } + +#[test] +#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))] +fn min_max_dec() { + assert_evals_to!(r"Num.minDec", i128::MIN, i128); + assert_evals_to!(r"Num.maxDec", i128::MAX, i128); +} +#[allow(clippy::non_minimal_cfg)] +#[test] +#[cfg(any(feature = "gen-llvm"))] +fn float_to_dec() { + assert_evals_to!(r"Num.toDec 0f64", RocDec::from_str("0").unwrap(), RocDec); + assert_evals_to!(r"Num.toDecChecked 0f64",RocResult::ok(RocDec::from_str("0").unwrap()),RocResult); + assert_evals_to!(r"Num.toDecChecked 999999999999999999999999999.999999999f64",RocResult::err(()),RocResult); + assert_evals_to!(r"Num.toDecChecked 0f64", RocResult::ok(RocDec::from_str("0").unwrap()), RocResult); +} +#[allow(clippy::non_minimal_cfg)] +#[test] +#[cfg(any(feature = "gen-llvm"))] +fn num_to_dec() { + assert_evals_to!(r"Num.toDec 0u64", RocDec::from_str("0").unwrap(), RocDec); + assert_evals_to!( + r"Num.toDec 100u64", + RocDec::from_str("100").unwrap(), + RocDec + ); + assert_evals_to!(r"Num.toDec 0i64", RocDec::from_str("0").unwrap(), RocDec); + assert_evals_to!( + r"Num.toDec 100i64", + RocDec::from_str("100").unwrap(), + RocDec + ); + assert_evals_to!(r"Num.toDecChecked -100i64",RocResult::ok(RocDec::from_str("-100").unwrap()), RocResult); + assert_evals_to!(r"Num.toDecChecked 100i64",RocResult::ok(RocDec::from_str("100").unwrap()), RocResult); + assert_evals_to!(r"Num.toDecChecked 999999999999999999999999999u128",RocResult::err(()),RocResult); +} diff --git a/crates/compiler/test_mono/generated/anonymous_closure_in_polymorphic_expression_issue_4717.txt b/crates/compiler/test_mono/generated/anonymous_closure_in_polymorphic_expression_issue_4717.txt index 86af90ed21d..90b6ce566ed 100644 --- a/crates/compiler/test_mono/generated/anonymous_closure_in_polymorphic_expression_issue_4717.txt +++ b/crates/compiler/test_mono/generated/anonymous_closure_in_polymorphic_expression_issue_4717.txt @@ -79,16 +79,16 @@ procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen. jump List.679 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.77 (#Attr.2, #Attr.3): - let Num.282 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3; + ret Num.286; procedure Test.1 (Test.2): let Test.13 : U64 = 0i64; diff --git a/crates/compiler/test_mono/generated/binary_tree_fbip.txt b/crates/compiler/test_mono/generated/binary_tree_fbip.txt index 28940afe84b..65c7fef2c10 100644 --- a/crates/compiler/test_mono/generated/binary_tree_fbip.txt +++ b/crates/compiler/test_mono/generated/binary_tree_fbip.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.4 (Test.27): let Test.39 : [C [, C *self *self] *self, ] = TagId(0) ; diff --git a/crates/compiler/test_mono/generated/call_function_in_empty_list.txt b/crates/compiler/test_mono/generated/call_function_in_empty_list.txt index 6a1efe17324..650988e305e 100644 --- a/crates/compiler/test_mono/generated/call_function_in_empty_list.txt +++ b/crates/compiler/test_mono/generated/call_function_in_empty_list.txt @@ -48,12 +48,12 @@ procedure List.71 (#Attr.2, #Attr.3): ret List.677; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Test.2 (Test.3): let Test.7 : {} = Struct {}; diff --git a/crates/compiler/test_mono/generated/call_function_in_empty_list_unbound.txt b/crates/compiler/test_mono/generated/call_function_in_empty_list_unbound.txt index 3e219530dac..bdf4259218b 100644 --- a/crates/compiler/test_mono/generated/call_function_in_empty_list_unbound.txt +++ b/crates/compiler/test_mono/generated/call_function_in_empty_list_unbound.txt @@ -48,12 +48,12 @@ procedure List.71 (#Attr.2, #Attr.3): ret List.677; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Test.2 (Test.3): let Test.7 : {} = Struct {}; diff --git a/crates/compiler/test_mono/generated/capture_void_layout_task.txt b/crates/compiler/test_mono/generated/capture_void_layout_task.txt index 0487b5e2cfd..c552f5f852f 100644 --- a/crates/compiler/test_mono/generated/capture_void_layout_task.txt +++ b/crates/compiler/test_mono/generated/capture_void_layout_task.txt @@ -29,12 +29,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Test.10 (Test.69, #Attr.12): let Test.72 : {} = UnionAtIndex (Id 0) (Index 0) #Attr.12; diff --git a/crates/compiler/test_mono/generated/choose_correct_recursion_var_under_record.txt b/crates/compiler/test_mono/generated/choose_correct_recursion_var_under_record.txt index 75323ee1c07..74aa1e26e4b 100644 --- a/crates/compiler/test_mono/generated/choose_correct_recursion_var_under_record.txt +++ b/crates/compiler/test_mono/generated/choose_correct_recursion_var_under_record.txt @@ -90,12 +90,12 @@ procedure List.9 (List.391): ret List.661; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Result.5 (Result.14, Result.15): let Result.63 : U8 = 1i64; diff --git a/crates/compiler/test_mono/generated/choose_i128_layout.txt b/crates/compiler/test_mono/generated/choose_i128_layout.txt index 1fb244b30f1..e4340b3ec9b 100644 --- a/crates/compiler/test_mono/generated/choose_i128_layout.txt +++ b/crates/compiler/test_mono/generated/choose_i128_layout.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : I128 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I128 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Test.0 (): let Test.6 : I128 = 18446744073709551616i64; diff --git a/crates/compiler/test_mono/generated/choose_u128_layout.txt b/crates/compiler/test_mono/generated/choose_u128_layout.txt index d9d8b8b8422..3b04c1808e1 100644 --- a/crates/compiler/test_mono/generated/choose_u128_layout.txt +++ b/crates/compiler/test_mono/generated/choose_u128_layout.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : U128 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U128 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.2 : U128 = 170141183460469231731687303715884105728u128; diff --git a/crates/compiler/test_mono/generated/choose_u64_layout.txt b/crates/compiler/test_mono/generated/choose_u64_layout.txt index 2c0493ca016..a8ebd71f77d 100644 --- a/crates/compiler/test_mono/generated/choose_u64_layout.txt +++ b/crates/compiler/test_mono/generated/choose_u64_layout.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.2 : U64 = 9999999999999999999i64; diff --git a/crates/compiler/test_mono/generated/compose_recursive_lambda_set_productive_nullable_wrapped.txt b/crates/compiler/test_mono/generated/compose_recursive_lambda_set_productive_nullable_wrapped.txt index 84df43f8d94..d4270a58e49 100644 --- a/crates/compiler/test_mono/generated/compose_recursive_lambda_set_productive_nullable_wrapped.txt +++ b/crates/compiler/test_mono/generated/compose_recursive_lambda_set_productive_nullable_wrapped.txt @@ -33,12 +33,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.248 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/dbg_expr.txt b/crates/compiler/test_mono/generated/dbg_expr.txt index 67a20163c2f..5adbb331232 100644 --- a/crates/compiler/test_mono/generated/dbg_expr.txt +++ b/crates/compiler/test_mono/generated/dbg_expr.txt @@ -35,12 +35,12 @@ procedure Inspect.64 (Inspect.302): ret Inspect.302; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Num.96 (#Attr.2): - let Num.282 : Str = lowlevel NumToStr #Attr.2; - ret Num.282; + let Num.286 : Str = lowlevel NumToStr #Attr.2; + ret Num.286; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/dbg_nested_expr.txt b/crates/compiler/test_mono/generated/dbg_nested_expr.txt index 6a3650ec8ae..53c071a9058 100644 --- a/crates/compiler/test_mono/generated/dbg_nested_expr.txt +++ b/crates/compiler/test_mono/generated/dbg_nested_expr.txt @@ -35,8 +35,8 @@ procedure Inspect.64 (Inspect.302): ret Inspect.302; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/dec_refcount_for_usage_after_early_return_in_if.txt b/crates/compiler/test_mono/generated/dec_refcount_for_usage_after_early_return_in_if.txt index 9486070c43d..afcfe3aab30 100644 --- a/crates/compiler/test_mono/generated/dec_refcount_for_usage_after_early_return_in_if.txt +++ b/crates/compiler/test_mono/generated/dec_refcount_for_usage_after_early_return_in_if.txt @@ -3,12 +3,12 @@ procedure Bool.11 (#Attr.2, #Attr.3): ret Bool.24; procedure Num.19 (#Attr.2, #Attr.3): - let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.287; procedure Num.96 (#Attr.2): - let Num.282 : Str = lowlevel NumToStr #Attr.2; - ret Num.282; + let Num.286 : Str = lowlevel NumToStr #Attr.2; + ret Num.286; procedure Str.3 (#Attr.2, #Attr.3): let Str.247 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/dict.txt b/crates/compiler/test_mono/generated/dict.txt index b82344ef999..c249011550c 100644 --- a/crates/compiler/test_mono/generated/dict.txt +++ b/crates/compiler/test_mono/generated/dict.txt @@ -30,8 +30,8 @@ procedure List.6 (#Attr.2): ret List.659; procedure Num.75 (#Attr.2, #Attr.3): - let Num.281 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.3 : {} = Struct {}; diff --git a/crates/compiler/test_mono/generated/empty_list_of_function_type.txt b/crates/compiler/test_mono/generated/empty_list_of_function_type.txt index 3f6643da3b3..1fb88727182 100644 --- a/crates/compiler/test_mono/generated/empty_list_of_function_type.txt +++ b/crates/compiler/test_mono/generated/empty_list_of_function_type.txt @@ -23,8 +23,8 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.664; procedure Num.22 (#Attr.2, #Attr.3): - let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.285; procedure Test.2 (Test.5): let Test.17 : Str = "bar"; diff --git a/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt b/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt index cbe4549671c..f57cfad91d0 100644 --- a/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_nested_record_string.txt @@ -148,20 +148,20 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.709; procedure Num.127 (#Attr.2): - let Num.286 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.286; + let Num.290 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.290; procedure Num.22 (#Attr.2, #Attr.3): - let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.288; + let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.292; procedure Num.51 (#Attr.2, #Attr.3): - let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.287; + let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.291; procedure Num.96 (#Attr.2): - let Num.285 : Str = lowlevel NumToStr #Attr.2; - ret Num.285; + let Num.289 : Str = lowlevel NumToStr #Attr.2; + ret Num.289; procedure Str.12 (#Attr.2): let Str.258 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt b/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt index f97f1c8bdc8..5796dfd8b06 100644 --- a/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_record_one_field_string.txt @@ -89,20 +89,20 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.683; procedure Num.127 (#Attr.2): - let Num.282 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.282; + let Num.286 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.286; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.12 (#Attr.2): let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt b/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt index 311b88e7b25..08888172720 100644 --- a/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt +++ b/crates/compiler/test_mono/generated/encode_derived_record_two_field_strings.txt @@ -96,20 +96,20 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.683; procedure Num.127 (#Attr.2): - let Num.282 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.282; + let Num.286 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.286; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.12 (#Attr.2): let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/encode_derived_string.txt b/crates/compiler/test_mono/generated/encode_derived_string.txt index 787973e3a10..8cc773117a9 100644 --- a/crates/compiler/test_mono/generated/encode_derived_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_string.txt @@ -30,12 +30,12 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.671; procedure Num.127 (#Attr.2): - let Num.282 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.282; + let Num.286 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.286; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.12 (#Attr.2): let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt b/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt index eaef60877aa..968a3e6f520 100644 --- a/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_tag_one_field_string.txt @@ -94,20 +94,20 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.683; procedure Num.127 (#Attr.2): - let Num.282 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.282; + let Num.286 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.286; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.12 (#Attr.2): let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt b/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt index e08ecc31d55..c6fcf38690f 100644 --- a/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt +++ b/crates/compiler/test_mono/generated/encode_derived_tag_two_payloads_string.txt @@ -97,20 +97,20 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.683; procedure Num.127 (#Attr.2): - let Num.282 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.282; + let Num.286 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.286; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.12 (#Attr.2): let Str.255 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/factorial.txt b/crates/compiler/test_mono/generated/factorial.txt index a9655ad62d4..f6696ccc487 100644 --- a/crates/compiler/test_mono/generated/factorial.txt +++ b/crates/compiler/test_mono/generated/factorial.txt @@ -1,10 +1,10 @@ procedure Num.20 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumSub #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumSub #Attr.2 #Attr.3; + ret Num.286; procedure Num.21 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (#Derived_gen.0, #Derived_gen.1): joinpoint Test.7 Test.2 Test.3: diff --git a/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk.txt b/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk.txt index ec22d853c60..8893857bc67 100644 --- a/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk.txt +++ b/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.8): let Test.3 : I64 = 10i64; diff --git a/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk_independent_defs.txt b/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk_independent_defs.txt index 96fa433e561..cd98e74e064 100644 --- a/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk_independent_defs.txt +++ b/crates/compiler/test_mono/generated/function_specialization_information_in_lambda_set_thunk_independent_defs.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : U8 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : U8 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Test.1 (Test.9): let Test.4 : U8 = 10i64; diff --git a/crates/compiler/test_mono/generated/inline_return_joinpoints_in_bool_lambda_set.txt b/crates/compiler/test_mono/generated/inline_return_joinpoints_in_bool_lambda_set.txt index 0e45e1077e2..540e359e4eb 100644 --- a/crates/compiler/test_mono/generated/inline_return_joinpoints_in_bool_lambda_set.txt +++ b/crates/compiler/test_mono/generated/inline_return_joinpoints_in_bool_lambda_set.txt @@ -3,8 +3,8 @@ procedure Bool.1 (): ret Bool.23; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.3 (Test.4): ret Test.4; diff --git a/crates/compiler/test_mono/generated/inline_return_joinpoints_in_enum_lambda_set.txt b/crates/compiler/test_mono/generated/inline_return_joinpoints_in_enum_lambda_set.txt index 8cd25bf3901..1ece5803c95 100644 --- a/crates/compiler/test_mono/generated/inline_return_joinpoints_in_enum_lambda_set.txt +++ b/crates/compiler/test_mono/generated/inline_return_joinpoints_in_enum_lambda_set.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.283 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.287; procedure Test.2 (Test.3): switch Test.3: diff --git a/crates/compiler/test_mono/generated/inline_return_joinpoints_in_union_lambda_set.txt b/crates/compiler/test_mono/generated/inline_return_joinpoints_in_union_lambda_set.txt index 8e68099151a..9018cc57a22 100644 --- a/crates/compiler/test_mono/generated/inline_return_joinpoints_in_union_lambda_set.txt +++ b/crates/compiler/test_mono/generated/inline_return_joinpoints_in_union_lambda_set.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Test.2 (Test.3, Test.1): let Test.18 : Int1 = false; diff --git a/crates/compiler/test_mono/generated/inspect_derived_dict.txt b/crates/compiler/test_mono/generated/inspect_derived_dict.txt index cb904e317d5..fbf82a0e058 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_dict.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_dict.txt @@ -1057,131 +1057,131 @@ procedure List.98 (#Derived_gen.28, #Derived_gen.29, #Derived_gen.30): jump List.710 #Derived_gen.28 #Derived_gen.29 #Derived_gen.30; procedure Num.131 (#Attr.2): - let Num.289 : U32 = lowlevel NumIntCast #Attr.2; - ret Num.289; + let Num.293 : U32 = lowlevel NumIntCast #Attr.2; + ret Num.293; procedure Num.133 (#Attr.2): - let Num.297 : U64 = lowlevel NumIntCast #Attr.2; - ret Num.297; + let Num.301 : U64 = lowlevel NumIntCast #Attr.2; + ret Num.301; procedure Num.133 (#Attr.2): - let Num.346 : U64 = lowlevel NumIntCast #Attr.2; - ret Num.346; + let Num.350 : U64 = lowlevel NumIntCast #Attr.2; + ret Num.350; procedure Num.133 (#Attr.2): - let Num.361 : U64 = lowlevel NumIntCast #Attr.2; - ret Num.361; + let Num.365 : U64 = lowlevel NumIntCast #Attr.2; + ret Num.365; procedure Num.135 (#Attr.2): - let Num.367 : U128 = lowlevel NumIntCast #Attr.2; - ret Num.367; + let Num.371 : U128 = lowlevel NumIntCast #Attr.2; + ret Num.371; procedure Num.139 (#Attr.2): - let Num.315 : Float32 = lowlevel NumToFloatCast #Attr.2; - ret Num.315; + let Num.319 : Float32 = lowlevel NumToFloatCast #Attr.2; + ret Num.319; -procedure Num.148 (Num.225, Num.226): - let Num.317 : Int1 = CallByName Num.22 Num.225 Num.226; - if Num.317 then - ret Num.225; +procedure Num.148 (Num.229, Num.230): + let Num.321 : Int1 = CallByName Num.22 Num.229 Num.230; + if Num.321 then + ret Num.229; else - ret Num.226; + ret Num.230; procedure Num.21 (#Attr.2, #Attr.3): - let Num.314 : Float32 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.314; + let Num.318 : Float32 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.318; procedure Num.22 (#Attr.2, #Attr.3): - let Num.311 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.311; + let Num.315 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.315; procedure Num.22 (#Attr.2, #Attr.3): - let Num.440 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.440; + let Num.444 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.444; procedure Num.23 (#Attr.2, #Attr.3): - let Num.433 : Int1 = lowlevel NumLte #Attr.2 #Attr.3; - ret Num.433; + let Num.437 : Int1 = lowlevel NumLte #Attr.2 #Attr.3; + ret Num.437; procedure Num.24 (#Attr.2, #Attr.3): - let Num.295 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; - ret Num.295; + let Num.299 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; + ret Num.299; procedure Num.24 (#Attr.2, #Attr.3): - let Num.436 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; - ret Num.436; + let Num.440 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; + ret Num.440; procedure Num.25 (#Attr.2, #Attr.3): - let Num.437 : Int1 = lowlevel NumGte #Attr.2 #Attr.3; - ret Num.437; + let Num.441 : Int1 = lowlevel NumGte #Attr.2 #Attr.3; + ret Num.441; procedure Num.50 (#Attr.2): - let Num.313 : U64 = lowlevel NumFloor #Attr.2; - ret Num.313; + let Num.317 : U64 = lowlevel NumFloor #Attr.2; + ret Num.317; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U32 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U32 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Num.51 (#Attr.2, #Attr.3): - let Num.439 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.439; + let Num.443 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.443; procedure Num.69 (#Attr.2, #Attr.3): - let Num.303 : U32 = lowlevel NumBitwiseAnd #Attr.2 #Attr.3; - ret Num.303; + let Num.307 : U32 = lowlevel NumBitwiseAnd #Attr.2 #Attr.3; + ret Num.307; procedure Num.70 (#Attr.2, #Attr.3): - let Num.344 : U64 = lowlevel NumBitwiseXor #Attr.2 #Attr.3; - ret Num.344; + let Num.348 : U64 = lowlevel NumBitwiseXor #Attr.2 #Attr.3; + ret Num.348; procedure Num.71 (#Attr.2, #Attr.3): - let Num.302 : U32 = lowlevel NumBitwiseOr #Attr.2 #Attr.3; - ret Num.302; + let Num.306 : U32 = lowlevel NumBitwiseOr #Attr.2 #Attr.3; + ret Num.306; procedure Num.71 (#Attr.2, #Attr.3): - let Num.381 : U64 = lowlevel NumBitwiseOr #Attr.2 #Attr.3; - ret Num.381; + let Num.385 : U64 = lowlevel NumBitwiseOr #Attr.2 #Attr.3; + ret Num.385; procedure Num.72 (#Attr.2, #Attr.3): - let Num.284 : U32 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : U32 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3; + ret Num.288; procedure Num.72 (#Attr.2, #Attr.3): - let Num.396 : U64 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3; - ret Num.396; + let Num.400 : U64 = lowlevel NumShiftLeftBy #Attr.2 #Attr.3; + ret Num.400; procedure Num.74 (#Attr.2, #Attr.3): - let Num.362 : U128 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3; - ret Num.362; + let Num.366 : U128 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3; + ret Num.366; procedure Num.74 (#Attr.2, #Attr.3): - let Num.364 : U64 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3; - ret Num.364; + let Num.368 : U64 = lowlevel NumShiftRightZfBy #Attr.2 #Attr.3; + ret Num.368; procedure Num.75 (#Attr.2, #Attr.3): - let Num.291 : U32 = lowlevel NumSubWrap #Attr.2 #Attr.3; - ret Num.291; + let Num.295 : U32 = lowlevel NumSubWrap #Attr.2 #Attr.3; + ret Num.295; procedure Num.75 (#Attr.2, #Attr.3): - let Num.294 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3; - ret Num.294; + let Num.298 : U8 = lowlevel NumSubWrap #Attr.2 #Attr.3; + ret Num.298; procedure Num.75 (#Attr.2, #Attr.3): - let Num.430 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3; - ret Num.430; + let Num.434 : U64 = lowlevel NumSubWrap #Attr.2 #Attr.3; + ret Num.434; procedure Num.78 (#Attr.2, #Attr.3): - let Num.365 : U128 = lowlevel NumMulWrap #Attr.2 #Attr.3; - ret Num.365; + let Num.369 : U128 = lowlevel NumMulWrap #Attr.2 #Attr.3; + ret Num.369; procedure Num.96 (#Attr.2): - let Num.310 : Str = lowlevel NumToStr #Attr.2; - ret Num.310; + let Num.314 : Str = lowlevel NumToStr #Attr.2; + ret Num.314; procedure Num.96 (#Attr.2): - let Num.438 : Str = lowlevel NumToStr #Attr.2; - ret Num.438; + let Num.442 : Str = lowlevel NumToStr #Attr.2; + ret Num.442; procedure Str.12 (#Attr.2): let Str.248 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/inspect_derived_list.txt b/crates/compiler/test_mono/generated/inspect_derived_list.txt index 8858de6a1bf..bfce68f01e1 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_list.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_list.txt @@ -166,16 +166,16 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.287; procedure Num.51 (#Attr.2, #Attr.3): - let Num.282 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.286; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/inspect_derived_nested_record_string.txt b/crates/compiler/test_mono/generated/inspect_derived_nested_record_string.txt index 8ce25e44343..7380add3d53 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_nested_record_string.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_nested_record_string.txt @@ -284,12 +284,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.681; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Str.3 (#Attr.2, #Attr.3): let Str.247 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/inspect_derived_record.txt b/crates/compiler/test_mono/generated/inspect_derived_record.txt index bc8d69eaf1e..8affab903d0 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_record.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_record.txt @@ -193,20 +193,20 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Num.96 (#Attr.2): - let Num.282 : Str = lowlevel NumToStr #Attr.2; - ret Num.282; + let Num.286 : Str = lowlevel NumToStr #Attr.2; + ret Num.286; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/inspect_derived_record_one_field_string.txt b/crates/compiler/test_mono/generated/inspect_derived_record_one_field_string.txt index c49f518ebcb..d160a3b3b16 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_record_one_field_string.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_record_one_field_string.txt @@ -171,12 +171,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/inspect_derived_record_two_field_strings.txt b/crates/compiler/test_mono/generated/inspect_derived_record_two_field_strings.txt index 76bd72a9ed9..84165327b58 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_record_two_field_strings.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_record_two_field_strings.txt @@ -178,12 +178,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/inspect_derived_tag_one_field_string.txt b/crates/compiler/test_mono/generated/inspect_derived_tag_one_field_string.txt index b7436949b86..4fa006a79f1 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_tag_one_field_string.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_tag_one_field_string.txt @@ -171,12 +171,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/inspect_derived_tag_two_payloads_string.txt b/crates/compiler/test_mono/generated/inspect_derived_tag_two_payloads_string.txt index 15ad95ed93a..60eb9fd89fc 100644 --- a/crates/compiler/test_mono/generated/inspect_derived_tag_two_payloads_string.txt +++ b/crates/compiler/test_mono/generated/inspect_derived_tag_two_payloads_string.txt @@ -174,12 +174,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/ir_int_add.txt b/crates/compiler/test_mono/generated/ir_int_add.txt index 8825be31f67..49f5f4ffee2 100644 --- a/crates/compiler/test_mono/generated/ir_int_add.txt +++ b/crates/compiler/test_mono/generated/ir_int_add.txt @@ -3,8 +3,8 @@ procedure List.6 (#Attr.2): ret List.659; procedure Num.19 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.287; procedure Test.0 (): let Test.1 : List I64 = Array [1i64, 2i64]; diff --git a/crates/compiler/test_mono/generated/ir_plus.txt b/crates/compiler/test_mono/generated/ir_plus.txt index 29a356d1023..b0999c88af5 100644 --- a/crates/compiler/test_mono/generated/ir_plus.txt +++ b/crates/compiler/test_mono/generated/ir_plus.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.2 : I64 = 1i64; diff --git a/crates/compiler/test_mono/generated/ir_round.txt b/crates/compiler/test_mono/generated/ir_round.txt index 61cef3d782e..e576915e6f8 100644 --- a/crates/compiler/test_mono/generated/ir_round.txt +++ b/crates/compiler/test_mono/generated/ir_round.txt @@ -1,6 +1,6 @@ procedure Num.45 (#Attr.2): - let Num.281 : I64 = lowlevel NumRound #Attr.2; - ret Num.281; + let Num.285 : I64 = lowlevel NumRound #Attr.2; + ret Num.285; procedure Test.0 (): let Test.2 : Decimal = 3.6dec; diff --git a/crates/compiler/test_mono/generated/ir_two_defs.txt b/crates/compiler/test_mono/generated/ir_two_defs.txt index 58534f57dd5..52162d7bccf 100644 --- a/crates/compiler/test_mono/generated/ir_two_defs.txt +++ b/crates/compiler/test_mono/generated/ir_two_defs.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.1 : I64 = 3i64; diff --git a/crates/compiler/test_mono/generated/ir_when_idiv.txt b/crates/compiler/test_mono/generated/ir_when_idiv.txt index 1e1cbccb19c..b9547110db0 100644 --- a/crates/compiler/test_mono/generated/ir_when_idiv.txt +++ b/crates/compiler/test_mono/generated/ir_when_idiv.txt @@ -1,22 +1,22 @@ procedure Num.157 (#Attr.2, #Attr.3): - let Num.283 : I64 = lowlevel NumDivTruncUnchecked #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : I64 = lowlevel NumDivTruncUnchecked #Attr.2 #Attr.3; + ret Num.287; procedure Num.30 (#Attr.2): - let Num.288 : I64 = 0i64; - let Num.287 : Int1 = lowlevel Eq #Attr.2 Num.288; - ret Num.287; + let Num.292 : I64 = 0i64; + let Num.291 : Int1 = lowlevel Eq #Attr.2 Num.292; + ret Num.291; -procedure Num.40 (Num.249, Num.250): - let Num.284 : Int1 = CallByName Num.30 Num.250; - if Num.284 then - let Num.286 : {} = Struct {}; - let Num.285 : [C {}, C I64] = TagId(0) Num.286; - ret Num.285; +procedure Num.40 (Num.253, Num.254): + let Num.288 : Int1 = CallByName Num.30 Num.254; + if Num.288 then + let Num.290 : {} = Struct {}; + let Num.289 : [C {}, C I64] = TagId(0) Num.290; + ret Num.289; else - let Num.282 : I64 = CallByName Num.157 Num.249 Num.250; - let Num.281 : [C {}, C I64] = TagId(1) Num.282; - ret Num.281; + let Num.286 : I64 = CallByName Num.157 Num.253 Num.254; + let Num.285 : [C {}, C I64] = TagId(1) Num.286; + ret Num.285; procedure Test.0 (): let Test.8 : I64 = 1000i64; diff --git a/crates/compiler/test_mono/generated/ir_when_just.txt b/crates/compiler/test_mono/generated/ir_when_just.txt index b237e4b6abf..834ee0b677e 100644 --- a/crates/compiler/test_mono/generated/ir_when_just.txt +++ b/crates/compiler/test_mono/generated/ir_when_just.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.10 : I64 = 41i64; diff --git a/crates/compiler/test_mono/generated/issue_2583_specialize_errors_behind_unified_branches.txt b/crates/compiler/test_mono/generated/issue_2583_specialize_errors_behind_unified_branches.txt index 58fbaab4895..80ae4e7f43d 100644 --- a/crates/compiler/test_mono/generated/issue_2583_specialize_errors_behind_unified_branches.txt +++ b/crates/compiler/test_mono/generated/issue_2583_specialize_errors_behind_unified_branches.txt @@ -42,8 +42,8 @@ procedure List.9 (List.391): ret List.661; procedure Num.22 (#Attr.2, #Attr.3): - let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.285; procedure Str.27 (Str.84): let Str.246 : [C Int1, C I64] = CallByName Str.66 Str.84; diff --git a/crates/compiler/test_mono/generated/issue_4770.txt b/crates/compiler/test_mono/generated/issue_4770.txt index 272442c9dbe..a8b147a633f 100644 --- a/crates/compiler/test_mono/generated/issue_4770.txt +++ b/crates/compiler/test_mono/generated/issue_4770.txt @@ -119,24 +119,24 @@ procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen. inc #Derived_gen.0; jump List.675 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4; -procedure Num.148 (Num.225, Num.226): - let Num.288 : Int1 = CallByName Num.22 Num.225 Num.226; - if Num.288 then - ret Num.225; +procedure Num.148 (Num.229, Num.230): + let Num.292 : Int1 = CallByName Num.22 Num.229 Num.230; + if Num.292 then + ret Num.229; else - ret Num.226; + ret Num.230; procedure Num.22 (#Attr.2, #Attr.3): - let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.285; procedure Num.22 (#Attr.2, #Attr.3): - let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.286; + let Num.290 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.290; procedure Num.51 (#Attr.2, #Attr.3): - let Num.284 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.288; procedure Test.1 (#Derived_gen.5): joinpoint Test.26 Test.6: diff --git a/crates/compiler/test_mono/generated/issue_6196.txt b/crates/compiler/test_mono/generated/issue_6196.txt index cb050be6a7b..858eeae28c6 100644 --- a/crates/compiler/test_mono/generated/issue_6196.txt +++ b/crates/compiler/test_mono/generated/issue_6196.txt @@ -1,6 +1,6 @@ procedure Num.20 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumSub #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumSub #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (#Derived_gen.0, #Derived_gen.1): joinpoint Test.12 Test.2 Test.3: diff --git a/crates/compiler/test_mono/generated/lambda_capture_niche_u8_vs_u64.txt b/crates/compiler/test_mono/generated/lambda_capture_niche_u8_vs_u64.txt index de4d802f411..920c599e515 100644 --- a/crates/compiler/test_mono/generated/lambda_capture_niche_u8_vs_u64.txt +++ b/crates/compiler/test_mono/generated/lambda_capture_niche_u8_vs_u64.txt @@ -1,10 +1,10 @@ procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Num.96 (#Attr.2): - let Num.282 : Str = lowlevel NumToStr #Attr.2; - ret Num.282; + let Num.286 : Str = lowlevel NumToStr #Attr.2; + ret Num.286; procedure Test.1 (Test.4): let Test.13 : [C U8, C U64] = TagId(1) Test.4; diff --git a/crates/compiler/test_mono/generated/lambda_set_with_imported_toplevels_issue_4733.txt b/crates/compiler/test_mono/generated/lambda_set_with_imported_toplevels_issue_4733.txt index de65cbc2da9..6ab358e791a 100644 --- a/crates/compiler/test_mono/generated/lambda_set_with_imported_toplevels_issue_4733.txt +++ b/crates/compiler/test_mono/generated/lambda_set_with_imported_toplevels_issue_4733.txt @@ -7,12 +7,12 @@ procedure Bool.2 (): ret Bool.24; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Num.21 (#Attr.2, #Attr.3): - let Num.282 : U64 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : U64 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.286; procedure Test.0 (Test.8): let Test.20 : Int1 = CallByName Bool.2; diff --git a/crates/compiler/test_mono/generated/layout_cache_structure_with_multiple_recursive_structures.txt b/crates/compiler/test_mono/generated/layout_cache_structure_with_multiple_recursive_structures.txt index f4369d2965e..2e00683be78 100644 --- a/crates/compiler/test_mono/generated/layout_cache_structure_with_multiple_recursive_structures.txt +++ b/crates/compiler/test_mono/generated/layout_cache_structure_with_multiple_recursive_structures.txt @@ -30,12 +30,12 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.669; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Test.7 (Test.11, Test.12): let Test.17 : {[C *self, ], [, C {[C *self, ], *self}]} = Struct {Test.12, Test.11}; diff --git a/crates/compiler/test_mono/generated/linked_list_filter.txt b/crates/compiler/test_mono/generated/linked_list_filter.txt index 08893f2bcb2..8729d88a9b5 100644 --- a/crates/compiler/test_mono/generated/linked_list_filter.txt +++ b/crates/compiler/test_mono/generated/linked_list_filter.txt @@ -1,11 +1,11 @@ -procedure Num.31 (Num.219): - let Num.282 : I64 = 2i64; - let Num.281 : Int1 = CallByName Num.86 Num.219 Num.282; - ret Num.281; +procedure Num.31 (Num.223): + let Num.286 : I64 = 2i64; + let Num.285 : Int1 = CallByName Num.86 Num.223 Num.286; + ret Num.285; procedure Num.86 (#Attr.2, #Attr.3): - let Num.283 : Int1 = lowlevel NumIsMultipleOf #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : Int1 = lowlevel NumIsMultipleOf #Attr.2 #Attr.3; + ret Num.287; procedure Test.2 (#Derived_gen.0, #Derived_gen.1): let #Derived_gen.3 : [, C I64 *self] = NullPointer; diff --git a/crates/compiler/test_mono/generated/linked_list_map.txt b/crates/compiler/test_mono/generated/linked_list_map.txt index 3a21360c880..ce0b5c48f01 100644 --- a/crates/compiler/test_mono/generated/linked_list_map.txt +++ b/crates/compiler/test_mono/generated/linked_list_map.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.10 (Test.11): let Test.28 : I64 = 1i64; diff --git a/crates/compiler/test_mono/generated/list_cannot_update_inplace.txt b/crates/compiler/test_mono/generated/list_cannot_update_inplace.txt index 674c2431f8e..264d718257d 100644 --- a/crates/compiler/test_mono/generated/list_cannot_update_inplace.txt +++ b/crates/compiler/test_mono/generated/list_cannot_update_inplace.txt @@ -22,12 +22,12 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4): ret List.666; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Test.1 (): let Test.8 : List I64 = Array [1i64, 2i64, 3i64]; diff --git a/crates/compiler/test_mono/generated/list_get.txt b/crates/compiler/test_mono/generated/list_get.txt index 550ec2d287d..135a617a2e2 100644 --- a/crates/compiler/test_mono/generated/list_get.txt +++ b/crates/compiler/test_mono/generated/list_get.txt @@ -19,8 +19,8 @@ procedure List.66 (#Attr.2, #Attr.3): ret List.664; procedure Num.22 (#Attr.2, #Attr.3): - let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.2): let Test.6 : List I64 = Array [1i64, 2i64, 3i64]; diff --git a/crates/compiler/test_mono/generated/list_len.txt b/crates/compiler/test_mono/generated/list_len.txt index 78e2a7dede9..2e0820c4ea3 100644 --- a/crates/compiler/test_mono/generated/list_len.txt +++ b/crates/compiler/test_mono/generated/list_len.txt @@ -7,8 +7,8 @@ procedure List.6 (#Attr.2): ret List.660; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.1 : List I64 = Array [1i64, 2i64, 3i64]; diff --git a/crates/compiler/test_mono/generated/list_map_closure_borrows.txt b/crates/compiler/test_mono/generated/list_map_closure_borrows.txt index 004c78e32c9..d9d3795d681 100644 --- a/crates/compiler/test_mono/generated/list_map_closure_borrows.txt +++ b/crates/compiler/test_mono/generated/list_map_closure_borrows.txt @@ -63,12 +63,12 @@ procedure List.71 (#Attr.2, #Attr.3): ret List.683; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Str.16 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrRepeat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/list_map_closure_owns.txt b/crates/compiler/test_mono/generated/list_map_closure_owns.txt index 5efc2e0d6db..d8be5c1a310 100644 --- a/crates/compiler/test_mono/generated/list_map_closure_owns.txt +++ b/crates/compiler/test_mono/generated/list_map_closure_owns.txt @@ -62,12 +62,12 @@ procedure List.71 (#Attr.2, #Attr.3): ret List.683; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Str.3 (#Attr.2, #Attr.3): let Str.247 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/list_map_take_capturing_or_noncapturing.txt b/crates/compiler/test_mono/generated/list_map_take_capturing_or_noncapturing.txt index 982d5a13551..2ceeec5d3c4 100644 --- a/crates/compiler/test_mono/generated/list_map_take_capturing_or_noncapturing.txt +++ b/crates/compiler/test_mono/generated/list_map_take_capturing_or_noncapturing.txt @@ -63,16 +63,16 @@ procedure List.71 (#Attr.2, #Attr.3): ret List.677; procedure Num.19 (#Attr.2, #Attr.3): - let Num.283 : U8 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U8 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.287; procedure Num.22 (#Attr.2, #Attr.3): - let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.285; + let Num.289 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.289; procedure Num.51 (#Attr.2, #Attr.3): - let Num.284 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.288; procedure Test.4 (Test.5, #Attr.12): let Test.16 : U8 = UnionAtIndex (Id 0) (Index 0) #Attr.12; diff --git a/crates/compiler/test_mono/generated/list_pass_to_function.txt b/crates/compiler/test_mono/generated/list_pass_to_function.txt index e899861ea37..34869e4ba18 100644 --- a/crates/compiler/test_mono/generated/list_pass_to_function.txt +++ b/crates/compiler/test_mono/generated/list_pass_to_function.txt @@ -22,8 +22,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4): ret List.664; procedure Num.22 (#Attr.2, #Attr.3): - let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.285; procedure Test.2 (Test.3): let Test.6 : U64 = 0i64; diff --git a/crates/compiler/test_mono/generated/list_sort_asc.txt b/crates/compiler/test_mono/generated/list_sort_asc.txt index 58d4f3302f4..713578ca3ed 100644 --- a/crates/compiler/test_mono/generated/list_sort_asc.txt +++ b/crates/compiler/test_mono/generated/list_sort_asc.txt @@ -8,8 +8,8 @@ procedure List.59 (List.386): ret List.659; procedure Num.46 (#Attr.2, #Attr.3): - let Num.281 : U8 = lowlevel NumCompare #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U8 = lowlevel NumCompare #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.2 : List I64 = Array [4i64, 3i64, 2i64, 1i64]; diff --git a/crates/compiler/test_mono/generated/multiline_record_pattern.txt b/crates/compiler/test_mono/generated/multiline_record_pattern.txt index baecd19d985..3ee0cd909ec 100644 --- a/crates/compiler/test_mono/generated/multiline_record_pattern.txt +++ b/crates/compiler/test_mono/generated/multiline_record_pattern.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Test.0 (): let Test.7 : I64 = 1i64; diff --git a/crates/compiler/test_mono/generated/nested_optional_field_with_binary_op.txt b/crates/compiler/test_mono/generated/nested_optional_field_with_binary_op.txt index 617adedd422..6a847b323f2 100644 --- a/crates/compiler/test_mono/generated/nested_optional_field_with_binary_op.txt +++ b/crates/compiler/test_mono/generated/nested_optional_field_with_binary_op.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.17 : {} = Struct {}; diff --git a/crates/compiler/test_mono/generated/nested_pattern_match.txt b/crates/compiler/test_mono/generated/nested_pattern_match.txt index 32875666f6c..f92dc8ab083 100644 --- a/crates/compiler/test_mono/generated/nested_pattern_match.txt +++ b/crates/compiler/test_mono/generated/nested_pattern_match.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.19 : I64 = 41i64; diff --git a/crates/compiler/test_mono/generated/num_width_gt_u8_layout_as_float.txt b/crates/compiler/test_mono/generated/num_width_gt_u8_layout_as_float.txt index 936b6203e1a..598b67c7174 100644 --- a/crates/compiler/test_mono/generated/num_width_gt_u8_layout_as_float.txt +++ b/crates/compiler/test_mono/generated/num_width_gt_u8_layout_as_float.txt @@ -1,6 +1,6 @@ procedure Num.37 (#Attr.2, #Attr.3): - let Num.281 : Decimal = lowlevel NumDivFrac #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : Decimal = lowlevel NumDivFrac #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.2 : Decimal = 1dec; diff --git a/crates/compiler/test_mono/generated/opaque_as_pattern_in_closure_arg.txt b/crates/compiler/test_mono/generated/opaque_as_pattern_in_closure_arg.txt index 834b3ee0f56..32e36d1da51 100644 --- a/crates/compiler/test_mono/generated/opaque_as_pattern_in_closure_arg.txt +++ b/crates/compiler/test_mono/generated/opaque_as_pattern_in_closure_arg.txt @@ -1,6 +1,6 @@ procedure Num.21 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.285; procedure Test.2 (Test.8): let Test.14 : U64 = 2i64; diff --git a/crates/compiler/test_mono/generated/optional_field_with_binary_op.txt b/crates/compiler/test_mono/generated/optional_field_with_binary_op.txt index 4e2be037b44..8a394179c25 100644 --- a/crates/compiler/test_mono/generated/optional_field_with_binary_op.txt +++ b/crates/compiler/test_mono/generated/optional_field_with_binary_op.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.5 : {} = Struct {}; diff --git a/crates/compiler/test_mono/generated/optional_when.txt b/crates/compiler/test_mono/generated/optional_when.txt index c1ceb98a6e3..ef3f4857adc 100644 --- a/crates/compiler/test_mono/generated/optional_when.txt +++ b/crates/compiler/test_mono/generated/optional_when.txt @@ -1,6 +1,6 @@ procedure Num.21 (#Attr.2, #Attr.3): - let Num.283 : I64 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : I64 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.287; procedure Test.1 (Test.6): let Test.21 : Int1 = false; diff --git a/crates/compiler/test_mono/generated/pizza_dbg.txt b/crates/compiler/test_mono/generated/pizza_dbg.txt index e2e8cfa2fa0..d1214a0e9ac 100644 --- a/crates/compiler/test_mono/generated/pizza_dbg.txt +++ b/crates/compiler/test_mono/generated/pizza_dbg.txt @@ -35,12 +35,12 @@ procedure Inspect.64 (Inspect.302): ret Inspect.302; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Num.96 (#Attr.2): - let Num.282 : Str = lowlevel NumToStr #Attr.2; - ret Num.282; + let Num.286 : Str = lowlevel NumToStr #Attr.2; + ret Num.286; procedure Str.3 (#Attr.2, #Attr.3): let Str.246 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/quicksort_help.txt b/crates/compiler/test_mono/generated/quicksort_help.txt index 5f2d3e63e84..bd5856ba15b 100644 --- a/crates/compiler/test_mono/generated/quicksort_help.txt +++ b/crates/compiler/test_mono/generated/quicksort_help.txt @@ -1,14 +1,14 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Num.20 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumSub #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumSub #Attr.2 #Attr.3; + ret Num.286; procedure Num.22 (#Attr.2, #Attr.3): - let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.287; procedure Test.1 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2): joinpoint Test.12 Test.2 Test.3 Test.4: diff --git a/crates/compiler/test_mono/generated/quicksort_swap.txt b/crates/compiler/test_mono/generated/quicksort_swap.txt index 8838750d6b5..a0b241a7c73 100644 --- a/crates/compiler/test_mono/generated/quicksort_swap.txt +++ b/crates/compiler/test_mono/generated/quicksort_swap.txt @@ -38,8 +38,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4): ret List.664; procedure Num.22 (#Attr.2, #Attr.3): - let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.287; procedure Test.1 (Test.2): let Test.28 : U64 = 0i64; diff --git a/crates/compiler/test_mono/generated/rb_tree_fbip.txt b/crates/compiler/test_mono/generated/rb_tree_fbip.txt index 2bfdeb60061..e51fa7dc4d1 100644 --- a/crates/compiler/test_mono/generated/rb_tree_fbip.txt +++ b/crates/compiler/test_mono/generated/rb_tree_fbip.txt @@ -1,10 +1,10 @@ procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.24 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; + ret Num.286; procedure Test.3 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2): let #Derived_gen.4 : [C *self I64 *self I32 Int1, ] = NullPointer; diff --git a/crates/compiler/test_mono/generated/record_as_pattern_in_closure_arg.txt b/crates/compiler/test_mono/generated/record_as_pattern_in_closure_arg.txt index 5d25c983bf3..d500da5e2c6 100644 --- a/crates/compiler/test_mono/generated/record_as_pattern_in_closure_arg.txt +++ b/crates/compiler/test_mono/generated/record_as_pattern_in_closure_arg.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Test.1 (Test.12): let Test.6 : I64 = StructAtIndex 0 Test.12; diff --git a/crates/compiler/test_mono/generated/record_optional_field_function_no_use_default.txt b/crates/compiler/test_mono/generated/record_optional_field_function_no_use_default.txt index 0bf4a409e43..8457a2a227b 100644 --- a/crates/compiler/test_mono/generated/record_optional_field_function_no_use_default.txt +++ b/crates/compiler/test_mono/generated/record_optional_field_function_no_use_default.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.4): let Test.2 : I64 = StructAtIndex 0 Test.4; diff --git a/crates/compiler/test_mono/generated/record_optional_field_function_use_default.txt b/crates/compiler/test_mono/generated/record_optional_field_function_use_default.txt index 63d2b8e07f8..ddc73875abc 100644 --- a/crates/compiler/test_mono/generated/record_optional_field_function_use_default.txt +++ b/crates/compiler/test_mono/generated/record_optional_field_function_use_default.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.4): let Test.2 : I64 = 10i64; diff --git a/crates/compiler/test_mono/generated/record_optional_field_let_no_use_default.txt b/crates/compiler/test_mono/generated/record_optional_field_let_no_use_default.txt index f8ee86c57d1..5f91931f651 100644 --- a/crates/compiler/test_mono/generated/record_optional_field_let_no_use_default.txt +++ b/crates/compiler/test_mono/generated/record_optional_field_let_no_use_default.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.2): let Test.3 : I64 = StructAtIndex 0 Test.2; diff --git a/crates/compiler/test_mono/generated/record_optional_field_let_use_default.txt b/crates/compiler/test_mono/generated/record_optional_field_let_use_default.txt index d877cdf19c6..4d06ccb48e2 100644 --- a/crates/compiler/test_mono/generated/record_optional_field_let_use_default.txt +++ b/crates/compiler/test_mono/generated/record_optional_field_let_use_default.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.2): let Test.3 : I64 = 10i64; diff --git a/crates/compiler/test_mono/generated/record_update.txt b/crates/compiler/test_mono/generated/record_update.txt index 26ae908df89..3fa84d6fe9e 100644 --- a/crates/compiler/test_mono/generated/record_update.txt +++ b/crates/compiler/test_mono/generated/record_update.txt @@ -22,8 +22,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4): ret List.664; procedure Num.22 (#Attr.2, #Attr.3): - let Num.281 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.2): let Test.6 : List U64 = StructAtIndex 0 Test.2; diff --git a/crates/compiler/test_mono/generated/recursive_call_capturing_function.txt b/crates/compiler/test_mono/generated/recursive_call_capturing_function.txt index 85f788c9cb3..fe5e6bf1bc0 100644 --- a/crates/compiler/test_mono/generated/recursive_call_capturing_function.txt +++ b/crates/compiler/test_mono/generated/recursive_call_capturing_function.txt @@ -3,8 +3,8 @@ procedure Bool.2 (): ret Bool.23; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : U32 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U32 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.2): let Test.8 : U32 = 0i64; diff --git a/crates/compiler/test_mono/generated/recursive_function_and_union_with_inference_hole.txt b/crates/compiler/test_mono/generated/recursive_function_and_union_with_inference_hole.txt index 989402fda00..c87ada0d1c1 100644 --- a/crates/compiler/test_mono/generated/recursive_function_and_union_with_inference_hole.txt +++ b/crates/compiler/test_mono/generated/recursive_function_and_union_with_inference_hole.txt @@ -49,12 +49,12 @@ procedure List.71 (#Attr.2, #Attr.3): ret List.677; procedure Num.22 (#Attr.2, #Attr.3): - let Num.282 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.286; procedure Num.51 (#Attr.2, #Attr.3): - let Num.281 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.285; procedure Test.2 (Test.5): let Test.6 : List [C List *self] = UnionAtIndex (Id 0) (Index 0) Test.5; diff --git a/crates/compiler/test_mono/generated/recursive_lambda_set_resolved_only_upon_specialization.txt b/crates/compiler/test_mono/generated/recursive_lambda_set_resolved_only_upon_specialization.txt index 06f48f983f6..508e5bf5d49 100644 --- a/crates/compiler/test_mono/generated/recursive_lambda_set_resolved_only_upon_specialization.txt +++ b/crates/compiler/test_mono/generated/recursive_lambda_set_resolved_only_upon_specialization.txt @@ -3,12 +3,12 @@ procedure Bool.11 (#Attr.2, #Attr.3): ret Bool.23; procedure Num.20 (#Attr.2, #Attr.3): - let Num.282 : U8 = lowlevel NumSub #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : U8 = lowlevel NumSub #Attr.2 #Attr.3; + ret Num.286; procedure Num.21 (#Attr.2, #Attr.3): - let Num.281 : U8 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U8 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (#Derived_gen.2, #Derived_gen.3): joinpoint Test.11 Test.2 Test.3: diff --git a/crates/compiler/test_mono/generated/recursively_build_effect.txt b/crates/compiler/test_mono/generated/recursively_build_effect.txt index 16fe61d5a52..89bd283cdea 100644 --- a/crates/compiler/test_mono/generated/recursively_build_effect.txt +++ b/crates/compiler/test_mono/generated/recursively_build_effect.txt @@ -1,6 +1,6 @@ procedure Num.20 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumSub #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumSub #Attr.2 #Attr.3; + ret Num.285; procedure Str.3 (#Attr.2, #Attr.3): let Str.248 : Str = lowlevel StrConcat #Attr.2 #Attr.3; diff --git a/crates/compiler/test_mono/generated/rigids.txt b/crates/compiler/test_mono/generated/rigids.txt index ed27fe58801..8895030af01 100644 --- a/crates/compiler/test_mono/generated/rigids.txt +++ b/crates/compiler/test_mono/generated/rigids.txt @@ -38,8 +38,8 @@ procedure List.67 (#Attr.2, #Attr.3, #Attr.4): ret List.664; procedure Num.22 (#Attr.2, #Attr.3): - let Num.283 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.287; procedure Test.1 (Test.2, Test.3, Test.4): let Test.29 : [C {}, C I64] = CallByName List.2 Test.4 Test.3; diff --git a/crates/compiler/test_mono/generated/specialize_after_match.txt b/crates/compiler/test_mono/generated/specialize_after_match.txt index 081cbdc8406..b1abfeab676 100644 --- a/crates/compiler/test_mono/generated/specialize_after_match.txt +++ b/crates/compiler/test_mono/generated/specialize_after_match.txt @@ -1,10 +1,10 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : U64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Num.24 (#Attr.2, #Attr.3): - let Num.283 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : Int1 = lowlevel NumGt #Attr.2 #Attr.3; + ret Num.287; procedure Test.2 (Test.9, Test.10): let Test.38 : U8 = 1i64; diff --git a/crates/compiler/test_mono/generated/specialize_closures.txt b/crates/compiler/test_mono/generated/specialize_closures.txt index ad9a4917a7b..0d927031a87 100644 --- a/crates/compiler/test_mono/generated/specialize_closures.txt +++ b/crates/compiler/test_mono/generated/specialize_closures.txt @@ -3,12 +3,12 @@ procedure Bool.2 (): ret Bool.24; procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Num.21 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.2, Test.3): let Test.15 : U8 = GetTagId Test.2; diff --git a/crates/compiler/test_mono/generated/specialize_lowlevel.txt b/crates/compiler/test_mono/generated/specialize_lowlevel.txt index d160decc952..4c476e54a36 100644 --- a/crates/compiler/test_mono/generated/specialize_lowlevel.txt +++ b/crates/compiler/test_mono/generated/specialize_lowlevel.txt @@ -3,12 +3,12 @@ procedure Bool.2 (): ret Bool.23; procedure Num.19 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.286; procedure Num.21 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumMul #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumMul #Attr.2 #Attr.3; + ret Num.285; procedure Test.6 (Test.8, #Attr.12): let Test.20 : I64 = UnionAtIndex (Id 0) (Index 0) #Attr.12; diff --git a/crates/compiler/test_mono/generated/tail_call_elimination.txt b/crates/compiler/test_mono/generated/tail_call_elimination.txt index a79c0883245..a4f25c6f43f 100644 --- a/crates/compiler/test_mono/generated/tail_call_elimination.txt +++ b/crates/compiler/test_mono/generated/tail_call_elimination.txt @@ -1,10 +1,10 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Num.20 (#Attr.2, #Attr.3): - let Num.282 : I64 = lowlevel NumSub #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : I64 = lowlevel NumSub #Attr.2 #Attr.3; + ret Num.286; procedure Test.1 (#Derived_gen.0, #Derived_gen.1): joinpoint Test.7 Test.2 Test.3: diff --git a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt index e5fc4dc70bb..c04c1c44b4d 100644 --- a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt +++ b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_does_not_duplicate_identical_concrete_types.txt @@ -83,20 +83,20 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.683; procedure Num.127 (#Attr.2): - let Num.282 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.282; + let Num.286 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.286; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.96 (#Attr.2): - let Num.281 : Str = lowlevel NumToStr #Attr.2; - ret Num.281; + let Num.285 : Str = lowlevel NumToStr #Attr.2; + ret Num.285; procedure Str.12 (#Attr.2): let Str.247 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt index c1812728370..ad68195e4d7 100644 --- a/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt +++ b/crates/compiler/test_mono/generated/unspecialized_lambda_set_unification_keeps_all_concrete_types_without_unification_of_unifiable.txt @@ -176,20 +176,20 @@ procedure List.8 (#Attr.2, #Attr.3): ret List.710; procedure Num.127 (#Attr.2): - let Num.286 : U8 = lowlevel NumIntCast #Attr.2; - ret Num.286; + let Num.290 : U8 = lowlevel NumIntCast #Attr.2; + ret Num.290; procedure Num.22 (#Attr.2, #Attr.3): - let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.288; + let Num.292 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.292; procedure Num.51 (#Attr.2, #Attr.3): - let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.287; + let Num.291 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.291; procedure Num.96 (#Attr.2): - let Num.285 : Str = lowlevel NumToStr #Attr.2; - ret Num.285; + let Num.289 : Str = lowlevel NumToStr #Attr.2; + ret Num.289; procedure Str.12 (#Attr.2): let Str.250 : List U8 = lowlevel StrToUtf8 #Attr.2; diff --git a/crates/compiler/test_mono/generated/weakening_avoids_overspecialization.txt b/crates/compiler/test_mono/generated/weakening_avoids_overspecialization.txt index 7b072af74e0..37c1718039a 100644 --- a/crates/compiler/test_mono/generated/weakening_avoids_overspecialization.txt +++ b/crates/compiler/test_mono/generated/weakening_avoids_overspecialization.txt @@ -79,16 +79,16 @@ procedure List.80 (#Derived_gen.0, #Derived_gen.1, #Derived_gen.2, #Derived_gen. jump List.679 #Derived_gen.0 #Derived_gen.1 #Derived_gen.2 #Derived_gen.3 #Derived_gen.4; procedure Num.22 (#Attr.2, #Attr.3): - let Num.284 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; - ret Num.284; + let Num.288 : Int1 = lowlevel NumLt #Attr.2 #Attr.3; + ret Num.288; procedure Num.51 (#Attr.2, #Attr.3): - let Num.283 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; - ret Num.283; + let Num.287 : U64 = lowlevel NumAddWrap #Attr.2 #Attr.3; + ret Num.287; procedure Num.77 (#Attr.2, #Attr.3): - let Num.282 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3; - ret Num.282; + let Num.286 : U64 = lowlevel NumSubSaturated #Attr.2 #Attr.3; + ret Num.286; procedure Test.3 (Test.4, Test.12): let Test.13 : [C U64, C U64] = TagId(0) Test.4; diff --git a/crates/compiler/test_mono/generated/when_guard_appears_multiple_times_in_compiled_decision_tree_issue_5176.txt b/crates/compiler/test_mono/generated/when_guard_appears_multiple_times_in_compiled_decision_tree_issue_5176.txt index bdd8a6188c9..a01deb054f4 100644 --- a/crates/compiler/test_mono/generated/when_guard_appears_multiple_times_in_compiled_decision_tree_issue_5176.txt +++ b/crates/compiler/test_mono/generated/when_guard_appears_multiple_times_in_compiled_decision_tree_issue_5176.txt @@ -3,8 +3,8 @@ procedure Bool.2 (): ret Bool.25; procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : U8 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : U8 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.1 (Test.2): joinpoint Test.12: diff --git a/crates/compiler/test_mono/generated/when_nested_maybe.txt b/crates/compiler/test_mono/generated/when_nested_maybe.txt index 32875666f6c..f92dc8ab083 100644 --- a/crates/compiler/test_mono/generated/when_nested_maybe.txt +++ b/crates/compiler/test_mono/generated/when_nested_maybe.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.19 : I64 = 41i64; diff --git a/crates/compiler/test_mono/generated/when_on_record.txt b/crates/compiler/test_mono/generated/when_on_record.txt index 9da43455497..cb0ec660f11 100644 --- a/crates/compiler/test_mono/generated/when_on_record.txt +++ b/crates/compiler/test_mono/generated/when_on_record.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.5 : I64 = 2i64; diff --git a/crates/compiler/test_mono/generated/when_on_two_values.txt b/crates/compiler/test_mono/generated/when_on_two_values.txt index 742cb21af2d..46d7f41ee8f 100644 --- a/crates/compiler/test_mono/generated/when_on_two_values.txt +++ b/crates/compiler/test_mono/generated/when_on_two_values.txt @@ -1,6 +1,6 @@ procedure Num.19 (#Attr.2, #Attr.3): - let Num.281 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; - ret Num.281; + let Num.285 : I64 = lowlevel NumAdd #Attr.2 #Attr.3; + ret Num.285; procedure Test.0 (): let Test.15 : I64 = 3i64;