practicalswift
|
9a078b54ef
|
[gardening] Fix recently introduced typo: "a executable" → "an executable"
[gardening] Fix recently introduced typo: "a offset" → "an offset"
[gardening] Fix recently introduced typo: "accessiblity" → "accessibility"
[gardening] Fix recently introduced typo: "cant" → "can't"
[gardening] Fix recently introduced typo: "inteference" → "interference"
[gardening] Fix recently introduced typo: "unsatified" → "unsatisfied"
[gardening] Remove accidental space.
|
2016-04-24 22:11:59 +02:00 |
|
practicalswift
|
abacf7e73d
|
Merge pull request #2243 from practicalswift/gardening-20160419
[gardening] Typos, PEP-8 and unused code.
|
2016-04-20 07:30:59 +02:00 |
|
Xin Tong
|
7d26a47200
|
Fix a non-deterministic retain/release insertion in RRCodeMotion
|
2016-04-19 22:14:38 -07:00 |
|
Xin Tong
|
c2e8c81227
|
Disable retain release code motion. There is some nondeterminism in
how we insert the new retain release instructions
|
2016-04-19 21:42:59 -07:00 |
|
Xin Tong
|
49f1c66d7b
|
Rename mayUseValue to mayHaveSymmetricInteference
|
2016-04-19 15:23:45 -07:00 |
|
practicalswift
|
092007bf12
|
[gardening] Fix recently introduced typos.
|
2016-04-19 21:48:05 +02:00 |
|
Xin Tong
|
51b1c0bc68
|
Implement retain, release code motion.
Iterative data flow retain sinking and release hoisting.
This allows us to sink retains and hoist releases across harmless loops. which is
an improvement on the SILCodeMotion retain sinking and release hoisting.
It also separates the duty of moving retain and release with the duty of eliminating them
in ASO.
This should eventually replace RR code motion in SILcodemotion and insertion point
in ARCsequence opts (ASO).
This is the performance difference i get with retain sinking and release hoisting.
After disabling retain release code motion in ASO and SILCodeMotion. we can start to take
those code out once this lands.
I see that we go from 24.5% of time spent in SILOptimizations w.r.t. the whole stdlib compilation
to 25.1%.
Improvement is better (i.e. retain sinking and hoisting releases result in performance gain).
<details open>
<summary>Regression (7)</summary>
TEST | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP
--- | --- | --- | --- | ---
SetIsSubsetOf | 441 | 510 | +15.7% | **0.86x**
SetIntersect | 1041 | 1197 | +15.0% | **0.87x**
BenchLangCallingCFunction | 184 | 211 | +14.7% | **0.87x**
Sim2DArray | 326 | 372 | +14.1% | **0.88x**
SetIsSubsetOf_OfObjects | 498 | 567 | +13.9% | **0.88x**
GeekbenchGEMM | 945 | 1022 | +8.2% | **0.92x**
COWTree | 3839 | 4181 | +8.9% | **0.92x(?)**
</details>
<details >
<summary>Improvement (31)</summary>
TEST | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP
--- | --- | --- | --- | ---
ObjectiveCBridgeFromNSDictionaryAnyObjectToString | 174526 | 165392 | -5.2% | **1.06x**
RGBHistogram | 3128 | 2957 | -5.5% | **1.06x**
ObjectiveCBridgeToNSDictionary | 16510 | 15494 | -6.2% | **1.07x**
LuhnAlgoLazy | 2294 | 2120 | -7.6% | **1.08x**
DictionarySwapOfObjects | 6477 | 5994 | -7.5% | **1.08x**
StringRemoveDupes | 1610 | 1485 | -7.8% | **1.08x**
ObjectiveCBridgeFromNSSetAnyObjectToString | 159358 | 147824 | -7.2% | **1.08x**
ObjectiveCBridgeToNSSet | 16191 | 14924 | -7.8% | **1.08x**
DictionaryHashableClass | 1839 | 1704 | -7.3% | **1.08x**
DictionaryLiteral | 2906 | 2678 | -7.8% | **1.09x(?)**
StringUtilsUnderscoreCase | 10031 | 9187 | -8.4% | **1.09x**
LuhnAlgoEager | 2320 | 2113 | -8.9% | **1.10x**
ObjectiveCBridgeFromNSSetAnyObjectToStringForced | 99553 | 90348 | -9.2% | **1.10x**
RIPEMD | 3327 | 3009 | -9.6% | **1.11x**
Combos | 595 | 538 | -9.6% | **1.11x**
Roman | 10 | 9 | -10.0% | **1.11x**
StringUtilsCamelCase | 10783 | 9646 | -10.5% | **1.12x**
SetIntersect_OfObjects | 2511 | 2182 | -13.1% | **1.15x**
SwiftStructuresTrie | 28331 | 24339 | -14.1% | **1.16x**
Dictionary2OfObjects | 3748 | 3115 | -16.9% | **1.20x**
DictionaryOfObjects | 2473 | 2050 | -17.1% | **1.21x**
Dictionary | 894 | 737 | -17.6% | **1.21x**
Dictionary2 | 2268 | 1859 | -18.0% | **1.22x**
StringIteration | 8027 | 6344 | -21.0% | **1.27x**
Phonebook | 8207 | 6436 | -21.6% | **1.28x**
BenchLangArray | 119 | 91 | -23.5% | **1.31x**
LinkedList | 8267 | 6297 | -23.8% | **1.31x**
StrToInt | 5585 | 4180 | -25.2% | **1.34x**
Dictionary3OfObjects | 1122 | 831 | -25.9% | **1.35x**
Dictionary3 | 731 | 515 | -29.6% | **1.42x**
SuperChars | 513353 | 258735 | -49.6% | **1.98x**
|
2016-04-18 15:39:17 -07:00 |
|