diff options
| author | Cliff Click <cliffc@acm.org> | 2025-04-29 13:27:32 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-04-29 13:27:32 -0700 |
| commit | 7e1deb4cbd52c7ebbec78e2ceeb35875e83c6e3a (patch) | |
| tree | c159f8dd2522f6be8e582b8abca0f491d94559d3 /chapter11/src | |
| parent | fe52d80f4a25b2df1954b42395123de652b953df (diff) | |
| download | Simple-7e1deb4cbd52c7ebbec78e2ceeb35875e83c6e3a.tar.gz Simple-7e1deb4cbd52c7ebbec78e2ceeb35875e83c6e3a.zip | |
Minor bugs
When passing AND receiving arguments on the stack (win64 passes only 4 args in registers, and requires backing stack store), the RA math was off. Bug triggered need for a stack-stack spill, now done. Inlining also hides the bug, since there are no large-argument calls afterwards.
x86 store-immediate encoded an 8byte imm but the op only takes a 4byte imm.
Making a 1-reg regmask with reg>64 math wrong.
"popular constant" RA split would trigger when spanning calls; visit pattern for multi-users would then skip a user.
Encoding would pad fun headers to 16bytes, then expand x86 short jumps to long jumps, messing up the padding.
Call/End/Node visiting in RA would double-visit trailing projections.
GCM not treating Calls as memory kills.
Diffstat (limited to 'chapter11/src')
0 files changed, 0 insertions, 0 deletions
