Open Bug 1629897 Opened 5 years ago Updated 4 years ago

Warp: improve MIR backend optimizations

Categories

(Core :: JavaScript Engine: JIT, task, P2)

task

Tracking

()

People

(Reporter: evilpie, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

For many opcodes IonBuilder will use TI to remove (~ never emit) unnecessary MIR instructions. WarpBuilder however doesn't use type information and is supposed to be simple to reason about. Together with the CacheIR transpiler it's quite easy to generate MIR nodes that we could trivially fold away.

I suspect there a quite a few missed optimization opportunities here, especially for cases that could not occur before. As an example we can optimize MGuardToClass when the input is MNewArray.

Priority: -- → P2
Depends on: 1631139
Severity: -- → N/A

Changing this to cover all backend work we want for Warp.

Summary: Strengthen MIR folding → Warp: improve MIR backend optimizations
Depends on: 1636916
Depends on: 1636918
Depends on: 1636946
Depends on: 1637946
Depends on: 1639503
Depends on: 1643350
Depends on: 1647370
Depends on: 1647895
Depends on: 1649398
Depends on: 1650233
Depends on: 1655773
Depends on: 1656890
Depends on: 1658786
Depends on: 1658897
Depends on: 1659133
Depends on: 1659140
Depends on: 1669012
You need to log in before you can comment on or make changes to this bug.