| Summary: | Enable LLVM TailDup | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> | ||||||
| Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> | ||||||
| Status: | RESOLVED DUPLICATE | ||||||||
| Severity: | Normal | CC: | atrick, barraclough, ggaren, mark.lam, mhahnenberg, mmirman, msaboff, nrotem, oliver, sam | ||||||
| Priority: | P2 | ||||||||
| Version: | 528+ (Nightly build) | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 132356 | ||||||||
| Attachments: |
|
||||||||
|
Description
Filip Pizlo
2014-01-18 20:17:58 PST
Created attachment 221578 [details]
jsc patch
Created attachment 221579 [details] llvm patch This just reverts LLVM r138841, and then updates the code a bit to various internal API changes. Comment on attachment 221578 [details]
jsc patch
r=me
Comment on attachment 221579 [details]
llvm patch
Seems like it would be best to get this into LLVM trunk first.
(In reply to comment #4) > (From update of attachment 221579 [details]) > Seems like it would be best to get this into LLVM trunk first. Yeah - that's definitely a blocker. At the time that they removed TailDup there seemed to be multiple good justifications for doing so: - It de-SSAifies the IR in a weird non-canonical way. - It has demonstrably bad heuristics for important things like switch. - It was unused in LLVM. So it may be a challenge to get it pushed back in. I suspect that this optimization is only good for JS because JS is so weird. We wrote our own compiler, and it has taildup. *** This bug has been marked as a duplicate of bug 150279 *** |