Open
Description
- Fold
stack_addr
intoload
/store
. - Remove
stack_{addr,load}
with unused return value. - Perform store to load forwarding when
stack_addr
is not used on a stack slot.- Single ebb store to load forwarding
- Cross ebb store to load forwarding
- Store to load forwarding with are multiple stores, but is always after others and before the load
- Store to load forwarding with phi's
- Remove redundant
stack_store
. (nostack_load
between current and nextstack_store
and nostack_addr
before currentstack_store
) - Fold
stack_load
intobitcast
whenstack_load
is only used by thatbitcast
.
WIP implementation at https://github.com/bjorn3/rustc_codegen_cranelift/tree/opt_stack2reg
Edit: merged