Stream: git-wasmtime

Topic: wasmtime / Issue #1049 Coloring: Don't leave regmove/regs...


view this post on Zulip Wasmtime GitHub notifications bot (Feb 03 2021 at 17:01):

bjorn3 commented on Issue #1049:

These don't exist for the new backend framework anymore.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 03 2021 at 17:28):

cfallin commented on Issue #1049:

Addressed with regalloc.rs in new backends.

view this post on Zulip Wasmtime GitHub notifications bot (Feb 03 2021 at 17:28):

cfallin closed Issue #1049:

The regmove/regspill/regfill instructions are special. They're emitted by the coloring pass to temporarily override the assigned registers (func.locations) for values. This is surprising, and it means that very late passes which run after register allocation can't just look at func.locations and have to use RegDiversions and walk the IR in order to know what registers are assigned to what values.

They also currently require special casing to work around this issue.

It would be nice to find a way to either avoid using regfill/regspill/regfill, or to rewrite them once coloring is done, so that func.locations is left up to date.


Last updated: Nov 22 2024 at 17:03 UTC