diff options
| author | Luuk de Gram <luuk@degram.dev> | 2022-07-27 21:04:58 +0200 |
|---|---|---|
| committer | Luuk de Gram <luuk@degram.dev> | 2022-08-11 11:08:01 +0200 |
| commit | b42ba7c3d411cde31ede290b3915150c3e8acfbb (patch) | |
| tree | e30ba3182d14b7936c5245b543799ce64cb10362 /src/arch/arm/CodeGen.zig | |
| parent | a5e4fd7ef66bbd16ddad1a12d378eefcb740da1d (diff) | |
| download | zig-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
