aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2025-07-22 19:39:18 -0700
committerAndrew Kelley <andrew@ziglang.org>2025-07-22 19:43:47 -0700
commite9b9a27a52fa765ccb8cd838fc24ccfb2085a363 (patch)
tree7d2f6201cb6687e81708f6b2460af187b090aaad /src/codegen.zig
parent5060ab99c94dd8afc8b84e74fe4d050c88cdfc0a (diff)
downloadzig-e9b9a27a52fa765ccb8cd838fc24ccfb2085a363.tar.gz
zig-e9b9a27a52fa765ccb8cd838fc24ccfb2085a363.zip
codegen: prevent AnyMir from bloating zig1.wasm
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index d509234148..17e3c8504a 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -98,12 +98,12 @@ pub fn wantsLiveness(pt: Zcu.PerThread, nav_index: InternPool.Nav.Index) bool {
/// MIR from codegen to the linker *regardless* of which backend is in use. So, we use this: a
/// union of all MIR types. The active tag is known from the backend in use; see `AnyMir.tag`.
pub const AnyMir = union {
- aarch64: @import("codegen/aarch64/Mir.zig"),
- riscv64: @import("arch/riscv64/Mir.zig"),
- sparc64: @import("arch/sparc64/Mir.zig"),
- x86_64: @import("arch/x86_64/Mir.zig"),
- wasm: @import("arch/wasm/Mir.zig"),
- c: @import("codegen/c.zig").Mir,
+ aarch64: if (dev.env.supports(.aarch64_backend)) @import("codegen/aarch64/Mir.zig") else noreturn,
+ riscv64: if (dev.env.supports(.riscv64_backend)) @import("arch/riscv64/Mir.zig") else noreturn,
+ sparc64: if (dev.env.supports(.sparc64_backend)) @import("arch/sparc64/Mir.zig") else noreturn,
+ x86_64: if (dev.env.supports(.x86_64_backend)) @import("arch/x86_64/Mir.zig") else noreturn,
+ wasm: if (dev.env.supports(.wasm_backend)) @import("arch/wasm/Mir.zig") else noreturn,
+ c: if (dev.env.supports(.c_backend)) @import("codegen/c.zig").Mir else noreturn,
pub inline fn tag(comptime backend: std.builtin.CompilerBackend) []const u8 {
return switch (backend) {