mirror of
https://github.com/powdr-labs/powdr.git
synced 2026-04-20 03:03:25 -04:00
Extracted from #2275. This PR makes it easier to debug failing code generation in `BlockMachineProcessor` by printing the code generated so far. Example: ``` $ RUST_LOG=debug cargo run pil test_data/std/binary_large_test.asm -o output -f ... Code generation failed for connection: main::instr_and $ [0, main::X0, main::X1, main::X2] is main_binary::latch * main_binary::sel[0] $ [main_binary::operation_id, main_binary::A, main_binary::B, main_binary::C] Known arguments: main_binary::operation_id main_binary::A main_binary::B Error: Unable to derive algorithm to compute output value "main_binary::C" The following code was generated so far: main_binary::sel[0][3] = 1; main_binary::operation_id[3] = params[0]; main_binary::A[3] = params[1]; main_binary::B[3] = params[2]; main_binary::operation_id[2] = main_binary::operation_id[3]; main_binary::operation_id_next[2] = main_binary::operation_id[3]; main_binary::operation_id[1] = main_binary::operation_id[2]; main_binary::operation_id_next[1] = main_binary::operation_id[2]; main_binary::operation_id[0] = main_binary::operation_id[1]; main_binary::operation_id_next[0] = main_binary::operation_id[1]; ... ```