
Seed: Plan 9 C compiler suite (qc/6c/8c/5c) and linkers.
Central fact: The Plan 9 compilers generate machine-specific object code directly from source in a single pass, eliminating the traditional preprocessor/assembler/textual-assembly pipeline, which lets their paired linkers perform whole-program register allocation and dead-code elimination that a toolchain of separate, uncoordinated stages could not.
A conventional C toolchain is a relay race: a preprocessor unrolls macros, a compiler emits text assembly, an assembler turns text into object code, a linker stitches the pieces — four separate programs, four separate file formats, four chances to lose information between handoffs. Ken Thompson's compilers refuse the relay. qc, 6c, 8c, 5c compile straight from source to a machine-specific object stream in a single pass, no macro preprocessor, no textual assembly phase, no external assembler ever consulted.
The saved detour is not just speed. A linker built to expect an intermediate representation it fully controls — 6l, 5l — can perform global register allocation and dead-code elimination across the whole program at once, decisions a toolchain of independent strangers passing paper through a slot could never coordinate.