diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-04-30 21:43:18 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-04-30 21:43:18 -0700 |
| commit | 077b8d3def537b9a36330c14c39bfa77b2e122bc (patch) | |
| tree | 4a90916b4a0f6813c82b4fadf7a59b62b082cf41 /src/codegen/c.zig | |
| parent | db7acd83d2fb18fc0fbd1b58e0638f2afaa595fb (diff) | |
| download | zig-077b8d3def537b9a36330c14c39bfa77b2e122bc.tar.gz zig-077b8d3def537b9a36330c14c39bfa77b2e122bc.zip | |
stage2: introduce new ZIR instruction: arg
* AstGen: LocalVal and LocalPtr use string table indexes for their
names. This is more efficient because local variable declarations do
need to include the variable names so that semantic analysis can emit
a compile error if a declaration is shadowed. So we take advantage of
this fact by comparing string table indexes when resolving names.
* The arg ZIR instructions are needed for the above reasoning, as well
as to emit equivalent AIR instructions for debug info.
Now that we have these arg instructions, get rid of the special
`Zir.Inst.Ref` range for parameters. ZIR instructions now refer
to the arg instructions for parameters.
* Move identAsString and strLitAsString from Module.GenZir to AstGen
where they belong.
Diffstat (limited to 'src/codegen/c.zig')
0 files changed, 0 insertions, 0 deletions
