- Apr 23, 2024
-
-
- Apr 22, 2024
-
-
- Apr 17, 2024
-
-
- Apr 16, 2024
-
-
- Apr 15, 2024
-
-
With some changes by Giovanni Mascellani.
-
-
It is meant as generic pass to host all program changes to single instructions that do not require keeping a global state, intstead of having to loop through the whole program many times.
-
-
-
-
-
This is in preparation of handling more than one function (as it happens for Hull Shaders), which will require having a single row of declarations, but handling more than one CFG.
-
-
-
-
-
-
- Apr 11, 2024
-
-
- Apr 09, 2024
-
-
-
-
RADV converts temps to phi instructions, so converting phis to MOVC in VSIR just translates back to phis feeding into a MOVC. This commit eliminates the MOVC.
-
-
- Apr 04, 2024
-
-
- Apr 03, 2024
-
-
-
Not when making the loop header available, which is too early and might lead to open too many loops at once.
-
- Apr 02, 2024
-
-
vsir_program_normalise() has function calls to basically everything in ir.c, so it's useful to have it in an easily reachable place to quickly jump to wherever you need using your favorite code editor's features.
-
- Mar 19, 2024
-
-
- Mar 18, 2024
-
-
The label itself is certainly an unsigned integer, but the register has no meaningful data type. It cannot be evaluated to anything. The goal of this is to reduce cluttering in the internal ASM dumps.
-
The new structurizer therefore reaches feature parity with the older simple one, except for a couple of points: * the old structurizer accepts any CFG, without requiring reducibility; however, the DXIL specification requires the CFG to be reducible anyway, so we're not really losing anything; * the new structurizer additionally requires that no block has two incoming back arrows; AFAIK this is condition that can happen, but in practice it seems to be rare; also, it's not hard to add support for it, as soon as it is decided it is useful. On the other hand, the new structurizer makes use of the merging information that are reconstructed from the CFG, which is important for downstream optimization and fundamental for correctly emitting tangled instructions. Taking these considerations into account, the old structurizer is considered superseded and is therefore removed.
-
Multilevel jumps are not supported yet, and trigger a fallback to the simple structurizer.
-
- Mar 14, 2024
-
-