Marcel Ullrich
Marcel Ullrich
Maybe an association dialect would be helpful. Often, when we rewrite things, we want to replace something with a semantically equal term on another level. The destination term can often...
The generated code is: ```rust .con eta_f_1436134 _1436139::[a_1436177: .Idx 4294967296, return_1436141: .Cn .Idx 4294967296] @(0:(.Idx 2)) = { .let _1436184: .Idx 4294967296 = %core.wrap.add 4294967296 0 (2:(.Idx 4294967296), a_1436177); return_1436141...
Fork: neuralcoder3/throin2 Branch: matrix_dialect Command: `./build/bin/thorin -d matrix lit/matrix/print_const.thorin -d affine -d direct -d clos -o - -VVVV` The type of `.con print_int_matrix [mem: %mem.M, k: .Nat, l: .Nat, m:...
The direct2cps dialect has a bug as demonstrated in https://github.com/NeuralCoder3/thorin2/blob/test/direct_old_var/lit/direct/ad_mem.thorin.disabled The bug manifests in the test case only in complex circumstances. Two `cps2ds` calls are used with functions that contain...
The `FreeDefAna` in `ClosConv` throws an error. In `Node::add_fvs`, the def is tested to be no memory. However, this is tested in a situation that shallowly seems correct: ```rust .con...
``` 1E) '([], ((.Idx 4294967296, aug_pow_else_745690_660849_352178, _660885_351873):closure_type_352061, ([], aug_pow_then_745900_661112_352340, ()):closure_type_352416)#_352541#2:(.Idx 3))' of type 2E) ' (.Idx 4294967296, aug_pow_else_745690_660849_352178, _660885_351873):closure_type_352061, ([], aug_pow_then_745900_661112_352340, ()):closure_type_352416)#_352541#1:(.Idx 3)' of domain 1T) '[★, ((.Idx 4294967296, aug_pow_else_745690_660849_352178,...
Functions with only one argument are printed without brackets: ``` .cn return_178710 _178716: [%mem.M, .Idx 4294967296] = { return_178715 _178716 }; ``` In cases like the one above, this is...
The assertion `lam == entry_ || lam->is_basicblock()` is thrown at unexpected points. An example can be found here (LamSpec needs to be disabled from the optimizations to be able to...
Unexpected results are produced when the generation of LLVM Code from Thorin code containing higher-order code is attempted. Small example: ``` extern "C" { fn g(fn(i32)->i32) -> i32; fn h(i32)...
Observed in `lit/direct/ds2cps_ax_cps2ds_dependent_short.thorin` Command line: `./build/bin/thorin -d direct -d tool ./lit/direct/ds2cps_ax_cps2ds_dependent_short.thorin --output-thorin -` Issue: ``` :4294967295: error: 'Π n_167425: .Nat → .infer ()' used as a type but is in...