| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
copy propagation only happens when dataclasses match, register allocator
ignores hints if hint register class and instruction class differ, also
add mov between int and float regs in amd64/emit
|
| |
|
|
|
|
|
|
| |
basically an allocation map at the beginning (in) and end (out) of each
block is kept and after the first allocation pass another pass is ran to
resolve allocation conflicts between each edge, plus another pass to
finish lowering phi functions.
also introduced `regset` and plenty of other miscellaneous fixes
|
| | |
|
| | |
|
| | |
|
|
|
promotes uniform stack slots to temporaries
currently only for immutable variables, next thing to implement is ssa
construction
|