Kraken gaussianblur has many duplicate expressions, so it's a good CSE/GVN testcase:  r += squidImageData[4 * ((y + j) * width + (x + i)) + 0] * kernel[Math.abs(j)][Math.abs(i)]; g += squidImageData[4 * ((y + j) * width + (x + i)) + 1] * kernel[Math.abs(j)][Math.abs(i)]; b += squidImageData[4 * ((y + j) * width + (x + i)) + 2] * kernel[Math.abs(j)][Math.abs(i)]; a += squidImageData[4 * ((y + j) * width + (x + i)) + 3] * kernel[Math.abs(j)][Math.abs(i)];  For bug 723536, the default GVN mode was switched from optimistic to pessimistic. Turns out that we probably need optimistic GVN here: IM+TI optimistic GVN : 325 ms JM+TI : 498 ms IM+TI no GVN : 507 ms IM+TI pessimistic GVN: 522 ms
Comment 1•5 years ago


Interesting that no GVN is faster than pessimistic GVN?
Comment 2•5 years ago


(In reply to David Anderson [:dvander] from comment #1) > Interesting that no GVN is faster than pessimistic GVN? I would assume due to register pressure increasing.
Comment 3•5 years ago


GVN was recently turned on with the following commits: http://hg.mozilla.org/projects/ionmonkey/rev/488290bd2644 http://hg.mozilla.org/projects/ionmonkey/rev/60def326b4d0 http://hg.mozilla.org/projects/ionmonkey/rev/1d0f999708ca
(Reporter)  
Comment 4•5 years ago


Yeah, we're doing pretty well on gaussianblur nowadays.
Description
•