diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2020-07-28 21:57:13 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2020-07-29 02:29:37 -0700 |
| commit | 4beff80b2f30ad85f2127b1281053b8b25b0cc33 (patch) | |
| tree | 9937e9ee95d3060afa021449439caefd6476b5c2 /src/ir.cpp | |
| parent | 2b8e7deeda5d4d0d74f42265a4ddf466f91c8fc2 (diff) | |
| download | zig-4beff80b2f30ad85f2127b1281053b8b25b0cc33.tar.gz zig-4beff80b2f30ad85f2127b1281053b8b25b0cc33.zip | |
stage2: codegen handles undefined values
* `optimize_mode` is passed to `link.File` and stored there
* improve the debugging function `Module.dumpInst`
* get rid of `Value.the_one_possible_value` in favor of a few more
specific values for different types. This is less buggy, one less
footgun.
* `Type.onePossibleValue` now returns a `?Value` instead of `bool`.
* codegen handles undefined values. `undef` is a new `MCValue` tag.
It uses 0xaa values depending on optimization mode. However
optimization mode does not yet support scope overrides.
* link.zig: move the `Options` field from `File.Elf` and `File.C` to
the base struct.
- fix the Tag enum to adhere to style conventions
* ZIR now supports emitting undefined values.
* Fix the logic of comptime math to properly compare against zero using
the `compareWithZero` function.
Diffstat (limited to 'src/ir.cpp')
0 files changed, 0 insertions, 0 deletions
