summaryrefslogtreecommitdiff
path: root/chapter18/docs
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2025-04-29 13:27:32 -0700
committerCliff Click <cliffc@acm.org>2025-04-29 13:27:32 -0700
commit7e1deb4cbd52c7ebbec78e2ceeb35875e83c6e3a (patch)
treec159f8dd2522f6be8e582b8abca0f491d94559d3 /chapter18/docs
parentfe52d80f4a25b2df1954b42395123de652b953df (diff)
downloadSimple-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 'chapter18/docs')
0 files changed, 0 insertions, 0 deletions