mirror of
https://github.com/anoma/juvix.git
synced 2024-11-30 14:13:27 +03:00
4dcbb002fe
* Closes #2829 * Adds a transformation which converts `br` to `if` when the variable branched on was assigned in the previous instruction. The transformation itself doesn't check liveness and doesn't remove the assignment. Dead code elimination should be run afterwards to remove the assignment. * For Cairo, it only makes sense to convert `br` to `if` for equality comparisons against zero. The assignment before `br` will always become dead after converting `br` to `if`, because we convert to SSA before. |
||
---|---|---|
.. | ||
out | ||
test001.c | ||
test002.c | ||
test003.c | ||
test004.c | ||
test005.c | ||
test006.c | ||
test007.c | ||
test008.c | ||
test009.c | ||
test010.c | ||
test011.c | ||
test012.c | ||
test013.c | ||
test014.c | ||
test015.c | ||
test016.c | ||
test017.c | ||
test018.c | ||
test019.c | ||
test020.c | ||
test021.c | ||
test022.c |