Open Bug 974446 Opened 12 years ago Updated 1 year ago

IonMonkey: emitAtUses should take the number of MUses into account

Categories

(Core :: JavaScript Engine: JIT, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: bbouvier, Unassigned)

References

(Blocks 1 open bug)

Details

When we emit integer constants at uses, it has the nice advantage to reduce register pressure but it generates more code and in some cases, it also bloats the control flow graph during code generation (I don't have any example right now but could provide some once bug 919052 lands). When discussing this with nbp, it seems that we only want to emitAtUses if the MIR node has only one def use, but playing with it quickly, it seems that simply adding " && hasOneDefUse()" to canEmitAtUses() isn't enough (jit-tests failures). I am submitting the bug to keep it in my radar. It would be nice to implement it correctly and then do some benchmarking (look at generated code size vs speed) to see if it's a nice to have optimization.
Severity: normal → S3
Blocks: sm-opt-jits
Severity: S3 → N/A
Type: defect → enhancement
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.