aboutsummaryrefslogtreecommitdiff
path: root/src/codegen.zig
diff options
context:
space:
mode:
authorLuuk de Gram <luuk@degram.dev>2022-03-06 17:54:26 +0100
committerLuuk de Gram <luuk@degram.dev>2022-03-06 19:38:53 +0100
commit13fca53b925e7de00b63efbf6ac3723a4df732a8 (patch)
treee54f74a9042fd245f43be0ef8640d2a10708e9ce /src/codegen.zig
parent2faba4092a3c730c4062e0e82b967daa9638b129 (diff)
downloadzig-13fca53b925e7de00b63efbf6ac3723a4df732a8.tar.gz
zig-13fca53b925e7de00b63efbf6ac3723a4df732a8.zip
wasm: Unify function generation
Like decl code generation, also unify the wasm backend and the wasm linker to call into the general purpose `codegen.zig` to generate the code for a function.
Diffstat (limited to 'src/codegen.zig')
-rw-r--r--src/codegen.zig5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/codegen.zig b/src/codegen.zig
index 27f1891caf..20b2968c48 100644
--- a/src/codegen.zig
+++ b/src/codegen.zig
@@ -83,8 +83,6 @@ pub fn generateFunction(
debug_output: DebugInfoOutput,
) GenerateSymbolError!FnResult {
switch (bin_file.options.target.cpu.arch) {
- .wasm32 => unreachable, // has its own code path
- .wasm64 => unreachable, // has its own code path
.arm,
.armeb,
=> return @import("arch/arm/CodeGen.zig").generate(bin_file, src_loc, func, air, liveness, code, debug_output),
@@ -136,6 +134,9 @@ pub fn generateFunction(
//.renderscript32 => return Function(.renderscript32).generate(bin_file, src_loc, func, air, liveness, code, debug_output),
//.renderscript64 => return Function(.renderscript64).generate(bin_file, src_loc, func, air, liveness, code, debug_output),
//.ve => return Function(.ve).generate(bin_file, src_loc, func, air, liveness, code, debug_output),
+ .wasm32,
+ .wasm64,
+ => return @import("arch/wasm/CodeGen.zig").generate(bin_file, src_loc, func, air, liveness, code, debug_output),
else => @panic("Backend architectures that don't have good support yet are commented out, to improve compilation performance. If you are interested in one of these other backends feel free to uncomment them. Eventually these will be completed, but stage1 is slow and a memory hog."),
}
}