diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-07-27 22:44:18 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-07-27 22:44:18 -0700 |
| commit | 0965724e31666d156ca96375eee591380f3c9042 (patch) | |
| tree | 020b1a51091dfdcef21baeb26e83ca6ee503b9c1 /src/ir.cpp | |
| parent | 5f0bde63582c800352b2d11e20bec650bd266a6f (diff) | |
| download | zig-0965724e31666d156ca96375eee591380f3c9042.tar.gz zig-0965724e31666d156ca96375eee591380f3c9042.zip | |
self-hosted: refactor some code out of Module.zig into zir_sema.zig
This makes sense from an organizational point of view, as explained by
this new doc comment at the top of the new file:
//! Semantic analysis of ZIR instructions.
//! This file operates on a `Module` instance, transforming untyped ZIR
//! instructions into semantically-analyzed IR instructions. It does type
//! checking, comptime control flow, and safety-check generation. This is the
//! the heart of the Zig compiler.
//! When deciding if something goes into this file or into Module, here is a
//! guiding principle: if it has to do with (untyped) ZIR instructions, it goes
//! here. If the analysis operates on typed IR instructions, it goes in Module.
Before:
4009 src-self-hosted/Module.zig
After:
2776 src-self-hosted/Module.zig
1128 src-self-hosted/zir_sema.zig
This should be sufficient to avoid the situation we have in stage1 where
ir.cpp is 32,516 lines.
Diffstat (limited to 'src/ir.cpp')
0 files changed, 0 insertions, 0 deletions
