aboutsummaryrefslogtreecommitdiff
path: root/src/arch/arm/CodeGen.zig
diff options
context:
space:
mode:
authorLuuk de Gram <luuk@degram.dev>2022-07-27 21:04:58 +0200
committerLuuk de Gram <luuk@degram.dev>2022-08-11 11:08:01 +0200
commitb42ba7c3d411cde31ede290b3915150c3e8acfbb (patch)
treee30ba3182d14b7936c5245b543799ce64cb10362 /src/arch/arm/CodeGen.zig
parenta5e4fd7ef66bbd16ddad1a12d378eefcb740da1d (diff)
downloadzig-b42ba7c3d411cde31ede290b3915150c3e8acfbb.tar.gz
zig-b42ba7c3d411cde31ede290b3915150c3e8acfbb.zip
wasm: free unused locals
When a local is no longer referenced or used, free it so the local can be re-used by another instruction. This means we generate less locals. Freeing this local is a manual action and must only be used on temporaries or where we are sure the local is not referenced by a different AIR instruction, as that creates UB. We now also no longer store a `WValue` when its tag is set to `none` as those may never be referenced by any AIR instruction. An assertion is done to make sure we never store a reference to a `stack` value in our resolved instructions.
Diffstat (limited to 'src/arch/arm/CodeGen.zig')
0 files changed, 0 insertions, 0 deletions