-
Notifications
You must be signed in to change notification settings - Fork 109
Open
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.optimize-speedThe speed of the generated executableThe speed of the generated executable
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
Metadata
Metadata
Assignees
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.optimize-speedThe speed of the generated executableThe speed of the generated executable