diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-18 22:09:58 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-18 22:09:58 -0700 |
| commit | 300d2a9c3672acacc8bdd8d5370a424651a00571 (patch) | |
| tree | f33d895f6ec4e08692efa4c090c681257553097d /chapter21/README.md | |
| parent | 0be52f8dd82f70d4c557fe916d47dc425401f848 (diff) | |
| download | Simple-300d2a9c3672acacc8bdd8d5370a424651a00571.tar.gz Simple-300d2a9c3672acacc8bdd8d5370a424651a00571.zip | |
The phase rework, made new phases explicit and add them to the CodeGen driver. Fix the flag-spilling on X86 and ARM. Fix the GCM conservative anti-deps and backport.
Diffstat (limited to 'chapter21/README.md')
| -rw-r--r-- | chapter21/README.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/chapter21/README.md b/chapter21/README.md index 80304c1a..a3ae6cb8 100644 --- a/chapter21/README.md +++ b/chapter21/README.md @@ -17,6 +17,18 @@ in the linear revision history and Here is the [complete language grammar](docs/21-grammar.md) for this chapter. +Two phases extend the pipeline: `Encoding` turns allocated nodes into bytes, +and `Export` resolves relocations in memory or writes an ELF object. For example: + +```java +code.driver(CodeGen.Phase.Encoding, "x86_64_v2", "SystemV"); +code.exportELF("program.o"); +``` + +The CLI uses the same driver. `--dump-after-iter`, the other phase dump options, +and `--dump-time` expose the stages without duplicating their ordering in the +command-line frontend. + ## From machine nodes to bytes Instruction selection chooses the operation and register constraints. Register |
