NEW 155342
[JSC] IRC do not remove useless Move32 that we coalesced before spilling
https://bugs.webkit.org/show_bug.cgi?id=155342
Summary [JSC] IRC do not remove useless Move32 that we coalesced before spilling
Benjamin Poulain
Reported 2016-03-10 18:32:16 PST
[JSC] IRC do not remove useless Move32 that we coalesced before spilling
Attachments
Patch (8.92 KB, patch)
2016-03-10 21:25 PST, Benjamin Poulain
no flags
Patch (10.13 KB, patch)
2016-03-10 21:35 PST, Benjamin Poulain
beidson: review-
Benjamin Poulain
Comment 1 2016-03-10 21:25:19 PST
Benjamin Poulain
Comment 2 2016-03-10 21:35:31 PST
Benjamin Poulain
Comment 3 2016-03-11 18:11:04 PST
Results for https://bug-155342-attachments.webkit.org/attachment.cgi?id=273686 on Haswell: Conf#1 Conf#2 SunSpider: 3d-cube 4.5904+-0.3965 4.3994+-0.0478 might be 1.0434x faster 3d-morph 4.8700+-0.1228 4.8302+-0.0450 3d-raytrace 5.1602+-0.0437 ? 5.2133+-0.0657 ? might be 1.0103x slower access-binary-trees 1.9512+-0.0181 ? 1.9846+-0.0293 ? might be 1.0171x slower access-fannkuch 5.7936+-0.1251 ? 5.8093+-0.1534 ? access-nbody 2.4248+-0.0240 ? 2.4632+-0.0652 ? might be 1.0159x slower access-nsieve 2.8377+-0.0872 2.8148+-0.0614 bitops-3bit-bits-in-byte 1.0799+-0.0361 1.0628+-0.0104 might be 1.0161x faster bitops-bits-in-byte 2.6172+-0.0496 2.5917+-0.0546 bitops-bitwise-and 1.8828+-0.0135 ? 1.9543+-0.0723 ? might be 1.0380x slower bitops-nsieve-bits 2.8921+-0.0276 ? 2.9012+-0.0298 ? controlflow-recursive 2.1833+-0.0186 ? 2.2570+-0.1069 ? might be 1.0338x slower crypto-aes 3.7414+-0.0722 3.7093+-0.0486 crypto-md5 2.3389+-0.0319 2.3359+-0.0227 crypto-sha1 2.1768+-0.0263 ? 2.1952+-0.0695 ? date-format-tofte 6.2836+-0.1267 6.2339+-0.0705 date-format-xparb 4.5617+-0.2277 4.4742+-0.1232 might be 1.0196x faster math-cordic 2.6261+-0.0279 2.6205+-0.0165 math-partial-sums 4.5356+-0.0610 ? 4.5535+-0.0401 ? math-spectral-norm 1.8401+-0.0129 ? 1.8599+-0.0265 ? might be 1.0107x slower regexp-dna 5.5099+-0.0376 ? 5.5340+-0.0658 ? string-base64 4.1466+-0.0422 4.1138+-0.0404 string-fasta 5.4581+-0.0670 ? 5.4751+-0.0611 ? string-tagcloud 7.6190+-0.0657 7.5449+-0.0372 string-unpack-code 17.3301+-0.2243 ? 17.6017+-0.1978 ? might be 1.0157x slower string-validate-input 3.9499+-0.0558 3.9362+-0.0449 <arithmetic> 4.2462+-0.0207 ? 4.2488+-0.0159 ? might be 1.0006x slower Conf#1 Conf#2 Octane: encrypt 0.15024+-0.00174 ? 0.15078+-0.00130 ? decrypt 2.73268+-0.02671 ^ 2.66323+-0.00564 ^ definitely 1.0261x faster deltablue x2 0.13295+-0.00345 ? 0.13315+-0.00375 ? earley 0.30260+-0.00220 ? 0.30310+-0.00220 ? boyer 4.76912+-0.03091 4.74895+-0.01830 navier-stokes x2 4.68571+-0.00509 ? 4.68751+-0.00779 ? raytrace x2 0.91863+-0.00337 ? 0.91991+-0.00369 ? richards x2 0.07836+-0.00054 ? 0.07861+-0.00061 ? splay x2 0.39410+-0.00278 0.39249+-0.00245 regexp x2 19.81391+-0.17900 19.64860+-0.08848 pdfjs x2 37.66691+-0.32420 37.29424+-0.20520 mandreel x2 39.74578+-0.12396 ? 39.92613+-0.18717 ? gbemu x2 22.69210+-0.18133 ? 22.83825+-0.27858 ? closure 0.54799+-0.00138 0.54689+-0.00185 jquery 6.94570+-0.02240 6.93464+-0.02176 box2d x2 8.67987+-0.05291 8.65242+-0.04129 zlib x2 367.40558+-6.97174 365.19871+-7.59193 typescript x2 621.34783+-7.44200 617.04311+-4.29474 <geometric> 5.04896+-0.01114 5.03712+-0.01543 might be 1.0024x faster Conf#1 Conf#2 Kraken: ai-astar 82.593+-1.278 ? 82.828+-0.989 ? audio-beat-detection 42.836+-0.173 ? 42.876+-0.122 ? audio-dft 88.103+-0.312 ? 88.275+-0.435 ? audio-fft 33.828+-0.014 ? 33.874+-0.068 ? audio-oscillator 44.807+-0.161 ! 45.422+-0.129 ! definitely 1.0137x slower imaging-darkroom 57.156+-0.109 ^ 56.896+-0.087 ^ definitely 1.0046x faster imaging-desaturate 41.856+-0.088 ? 41.922+-0.123 ? imaging-gaussian-blur 59.553+-2.478 ? 62.629+-1.409 ? might be 1.0517x slower json-parse-financial 34.987+-0.215 ? 34.988+-0.146 ? json-stringify-tinderbox 22.105+-0.459 22.058+-0.495 stanford-crypto-aes 38.249+-0.145 ? 38.467+-0.390 ? stanford-crypto-ccm 34.474+-0.448 34.340+-0.556 stanford-crypto-pbkdf2 95.324+-0.290 ? 95.324+-0.645 ? stanford-crypto-sha256-iterative 36.587+-0.100 ! 37.129+-0.397 ! definitely 1.0148x slower <arithmetic> 50.890+-0.247 ? 51.216+-0.151 ? might be 1.0064x slower Conf#1 Conf#2 AsmBench: bigfib.cpp 408.5130+-5.1338 ? 417.0513+-6.4568 ? might be 1.0209x slower cray.c 339.3888+-1.5461 337.5797+-1.1952 dry.c 421.9306+-32.3185 408.9466+-19.9906 might be 1.0317x faster FloatMM.c 679.9042+-1.4667 679.2250+-0.7651 gcc-loops.cpp 3489.9343+-10.3789 3482.6482+-11.8215 n-body.c 769.1767+-2.9152 ^ 764.4453+-1.1407 ^ definitely 1.0062x faster Quicksort.c 369.5908+-0.9107 ! 376.4218+-1.0611 ! definitely 1.0185x slower stepanov_container.cpp 3022.2047+-11.7857 ? 3032.7318+-9.9704 ? Towers.c 254.3689+-0.7499 ? 254.4427+-0.3885 ? <geometric> 677.6342+-5.3199 ? 677.6917+-2.9817 ? might be 1.0001x slower Conf#1 Conf#2 Geomean of preferred means: <scaled-result> 29.3221+-0.0793 ? 29.3574+-0.0495 ? might be 1.0012x slower
Benjamin Poulain
Comment 4 2016-03-11 20:36:10 PST
Below is the other version. Both are pretty neutral, which makes sense since I am only removing a few Move32. Conf#1 Conf#2 SunSpider: 3d-cube 4.3814+-0.0538 4.3647+-0.0370 3d-morph 4.8936+-0.1469 4.7916+-0.0337 might be 1.0213x faster 3d-raytrace 5.1662+-0.0527 ? 5.1759+-0.0480 ? access-binary-trees 1.9640+-0.0303 1.9453+-0.0259 access-fannkuch 5.7847+-0.0703 5.7533+-0.0511 access-nbody 2.4827+-0.0762 2.4208+-0.0446 might be 1.0256x faster access-nsieve 2.8132+-0.0690 ? 2.8179+-0.0720 ? bitops-3bit-bits-in-byte 1.0682+-0.0174 1.0532+-0.0069 might be 1.0142x faster bitops-bits-in-byte 2.5669+-0.0410 ? 2.5746+-0.0221 ? bitops-bitwise-and 1.8892+-0.0228 ? 1.9109+-0.0396 ? might be 1.0114x slower bitops-nsieve-bits 2.9689+-0.1431 2.8884+-0.0375 might be 1.0279x faster controlflow-recursive 2.2464+-0.0881 2.1726+-0.0239 might be 1.0340x faster crypto-aes 3.7689+-0.0905 3.7267+-0.0419 might be 1.0113x faster crypto-md5 2.3500+-0.0314 ? 2.3552+-0.0357 ? crypto-sha1 2.1513+-0.0091 ? 2.1712+-0.0300 ? date-format-tofte 6.4200+-0.1957 6.2467+-0.0660 might be 1.0278x faster date-format-xparb 4.4623+-0.0622 4.3977+-0.0343 might be 1.0147x faster math-cordic 2.6284+-0.0444 ? 2.6834+-0.0966 ? might be 1.0209x slower math-partial-sums 4.5336+-0.0291 ? 4.5395+-0.0399 ? math-spectral-norm 1.8596+-0.0272 ? 1.9012+-0.1087 ? might be 1.0223x slower regexp-dna 5.5808+-0.0843 5.5030+-0.0472 might be 1.0141x faster string-base64 4.2216+-0.1958 ? 4.2232+-0.1986 ? string-fasta 5.4663+-0.0464 5.4397+-0.0372 string-tagcloud 7.5586+-0.0327 7.5356+-0.0282 string-unpack-code 17.2149+-0.2165 ? 17.3621+-0.1317 ? string-validate-input 3.9108+-0.0412 ? 3.9690+-0.1313 ? might be 1.0149x slower <arithmetic> 4.2443+-0.0164 4.2278+-0.0120 might be 1.0039x faster Conf#1 Conf#2 Octane: encrypt 0.15129+-0.00113 ? 0.15161+-0.00146 ? decrypt 2.74535+-0.02365 2.74443+-0.01494 deltablue x2 0.13439+-0.00671 0.13105+-0.00148 might be 1.0255x faster earley 0.30394+-0.00289 ? 0.30480+-0.00364 ? boyer 4.74888+-0.02294 ? 4.74993+-0.02105 ? navier-stokes x2 4.68781+-0.00525 ? 4.69125+-0.00497 ? raytrace x2 0.91628+-0.00355 ? 0.92015+-0.00341 ? richards x2 0.07868+-0.00073 0.07804+-0.00075 splay x2 0.39193+-0.00283 ? 0.39213+-0.00277 ? regexp x2 19.84572+-0.17770 19.75186+-0.09063 pdfjs x2 37.49671+-0.37009 37.29055+-0.14403 mandreel x2 40.03609+-0.22106 40.03458+-0.15003 gbemu x2 22.68146+-0.15683 ? 22.69180+-0.14970 ? closure 0.54714+-0.00215 0.54635+-0.00149 jquery 6.94017+-0.03124 6.92982+-0.02555 box2d x2 8.60635+-0.04164 ! 8.68056+-0.02489 ! definitely 1.0086x slower zlib x2 369.56383+-2.69879 367.93581+-6.71304 typescript x2 622.70414+-6.65511 618.16682+-5.48682 <geometric> 5.05359+-0.01821 5.04096+-0.00758 might be 1.0025x faster Conf#1 Conf#2 Kraken: ai-astar 81.789+-0.423 ? 82.144+-0.529 ? audio-beat-detection 42.728+-0.042 42.691+-0.071 audio-dft 87.972+-0.342 ? 88.402+-0.426 ? audio-fft 33.888+-0.063 33.860+-0.020 audio-oscillator 44.785+-0.139 ? 44.989+-0.467 ? imaging-darkroom 57.057+-0.085 ? 57.217+-0.165 ? imaging-desaturate 42.664+-1.015 42.048+-0.291 might be 1.0146x faster imaging-gaussian-blur 60.205+-2.769 59.286+-2.578 might be 1.0155x faster json-parse-financial 35.185+-0.616 35.132+-0.165 json-stringify-tinderbox 21.484+-0.325 ! 22.306+-0.490 ! definitely 1.0382x slower stanford-crypto-aes 38.350+-0.225 ? 38.969+-0.534 ? might be 1.0161x slower stanford-crypto-ccm 34.219+-0.494 ? 34.513+-0.434 ? stanford-crypto-pbkdf2 95.373+-0.248 ? 95.676+-0.771 ? stanford-crypto-sha256-iterative 36.684+-0.176 36.603+-0.149 <arithmetic> 50.884+-0.200 ? 50.988+-0.257 ? might be 1.0020x slower Conf#1 Conf#2 AsmBench: bigfib.cpp 408.9368+-5.1300 ? 413.3338+-6.0731 ? might be 1.0108x slower cray.c 340.0032+-1.4377 339.4512+-1.9469 dry.c 405.7408+-16.2953 ? 406.0636+-22.7277 ? FloatMM.c 679.5892+-1.6460 679.1690+-1.8303 gcc-loops.cpp 3491.4634+-9.8252 ? 3494.4514+-18.9449 ? n-body.c 766.6519+-1.8136 765.5156+-1.2216 Quicksort.c 369.9780+-0.8420 ? 371.5780+-1.0645 ? stepanov_container.cpp 3026.4990+-13.0285 3021.7035+-14.2566 Towers.c 254.3937+-0.7217 253.6097+-0.3408 <geometric> 675.2153+-3.2327 ? 675.7049+-3.5599 ? might be 1.0007x slower Conf#1 Conf#2 Geomean of preferred means: <scaled-result> 29.2989+-0.0636 29.2724+-0.0721 might be 1.0009x faster
Brady Eidson
Comment 5 2017-08-19 16:00:46 PDT
Comment on attachment 273686 [details] Patch r-, as this has been pending review for over a year now. It is near-impossible that this patch still applies to trunk and unlikely to still be relevant in its current form.
Note You need to log in before you can comment on or make changes to this bug.