aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2021-07-12 19:51:31 -0700
committerAndrew Kelley <andrew@ziglang.org>2021-07-20 12:19:16 -0700
commit0f38f686964664f68e013ec3c63cfe655001f165 (patch)
treee8ed5924afcce0b9783c664e8e0c4c7d04e34d6f /src/Compilation.zig
parent0ffc6b5cc300e750029c9ff22f6a1ed0596496d6 (diff)
downloadzig-0f38f686964664f68e013ec3c63cfe655001f165.tar.gz
zig-0f38f686964664f68e013ec3c63cfe655001f165.zip
stage2: Air and Liveness are passed ephemerally
to the link infrastructure, instead of being stored with Module.Fn. This moves towards a strategy to make more efficient use of memory by not storing Air or Liveness data in the Fn struct, but computing it on demand, immediately sending it to the backend, and then immediately freeing it. Backends which want to defer codegen until flush() such as SPIR-V must move the Air/Liveness data upon `updateFunc` being called and keep track of that data in the backend implementation itself.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 74ad7b2aae..90224a77d1 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -2027,7 +2027,7 @@ pub fn performAllTheWork(self: *Compilation) error{ TimerUnsupported, OutOfMemor
defer liveness.deinit(gpa);
if (std.builtin.mode == .Debug and self.verbose_air) {
- func.dump(module.*);
+ @panic("TODO implement dumping AIR and liveness");
}
assert(decl.ty.hasCodeGenBits());