Files
llvm-6502/lib/Target/R600/SIFoldOperands.cpp
Tom Stellard 74c57f24e7 Merging r237132:
Partial-rebuilding /home/tstellar/llvm/.git/svn/refs/remotes/origin/master/.rev_map.91177308-0d34-0410-b5e6-96231b3b80d8 ...
Currently at 236377 = e97eefc9c6
r236384 = d087fe8e0b
r236385 = 4f871770ff
r236386 = b5adf7c5f3
r236387 = d85813d9a5
r236388 = 6b7b96f74c
r236392 = a474e3fa6b
r236394 = 2d05c885ff
r236397 = dc0b6f2171
r236398 = 82b7c1b25b
r236399 = 7dda4c92e4
r236408 = 0e93e26d37
r236409 = bf2b36bae1
r236414 = 869807297d
r236416 = 44ea6d9cba
r236418 = 70a6f4522a
r236420 = 125a76c502
r236421 = fac3fb4244
r236427 = 01007da245
r236428 = ba99a57342
r236430 = d9af71b574
r236432 = 7f3a9e28fa
r236433 = e6cd0c73a7
r236434 = 375079a549
r236435 = de7e17f65a
r236436 = 8c0af15338
r236455 = 9cffebf3f8
r236456 = c41c3a4c3b
r236457 = 7f88b179b1
r236460 = 9cf57f7a88
r236461 = cccd128a8a
r236462 = 458a265e30
r236463 = 1ac87035b9
r236464 = 79597d7489
r236465 = ee160106a1
r236467 = 7e93f3b723
r236468 = 8737acdac2
r236471 = c5315e5d05
r236472 = b63d8107f0
r236476 = 3784f79d64
r236489 = 898fd78e33
r236492 = eb32d4dc7a
r236494 = 672996e18e
r236497 = a5f2faff5c
r236503 = c3c0de39db
r236504 = 18481aac4c
r236506 = 1aeb111842
r236507 = 2f7322b348
r236508 = 4def1cbf5d
r236510 = a67d5abd53
r236511 = 7a5c0e599c
r236512 = 4e3748ca77
r236513 = 154cb19e2f
r236514 = 46356f6f6f
r236515 = 92a55e80b8
r236517 = 5ffc7bfc9a
r236518 = 2c04d158ce
r236520 = 1a21909e98
r236521 = aa5c996eda
r236522 = 1654111384
r236523 = 878c6281d3
r236524 = cf0fa9b9dd
r236525 = 538287dea2
r236526 = e07464832d
r236527 = 88b90e11b4
r236528 = 7e0334d096
r236529 = d32c49bf68
r236530 = 97dbeaa8d5
r236535 = 08c531db5f
r236538 = 2bce3aa5f1
r236539 = cfdd004e7e
r236540 = 96d3361ca8
r236544 = 3b2c61b2e5
r236546 = cc0615ad0a
r236548 = 605f316258
r236550 = e064ab5798
r236552 = a17cc3b189
r236553 = 49d19ee888
r236554 = 7aab5ee93d
r236555 = 000e7d10e8
r236557 = 9fb69672d6
r236558 = 730ddb6f57
r236561 = d3a9dd7042
r236563 = d77522093e
r236564 = 1df2d64d55
r236565 = b9a2e8271f
r236566 = 93a4a7fe0d
r236567 = 5c175aae6e
r236568 = 5a8a366ddf
r236569 = caa560cfb9
r236575 = 3a1777818d
r236584 = c0b7f693ce
r236586 = 5fa37a7f2d
r236590 = 78fc2103c9
r236600 = e2007c9e7e
r236601 = 0358a25e78
r236606 = 982f60be44
r236609 = 99413f0d40
r236610 = 5304314702
r236611 = 683cf0f88f
r236612 = 530a574a9d
r236613 = cac51be31f
r236615 = 5a6ea245b0
r236617 = 26e46f2283
r236618 = 94c39f6914
r236626 = 00157f3ae8
r236627 = 4e21d7aff9
r236629 = 7838051bda
r236635 = 84b8c10729
r236642 = a414ba7844
r236643 = d71e55b97f
r236644 = 0040d179d2
r236650 = 537ff782aa
r236652 = b6ca45c39f
r236653 = 43afa42908
r236654 = ea89afbb84
r236656 = b350776f03
r236658 = d15319f75f
r236659 = 8434a039e2
r236660 = 28b0dda32e
r236661 = 6cc81efe93
r236662 = cdedd99893
r236663 = 0f04f3b213
r236664 = 63134e79e6
r236665 = 406a47c17f
r236666 = c58f23eeb6
r236667 = 4716d634a2
r236668 = a7574638e7
r236669 = 9daa4b18f7
r236670 = cb0a50fe54
r236671 = 4f28a76c25
r236672 = 8a86e2564d
r236673 = b82de79bc1
r236674 = 9397699834
r236675 = 9a46db689a
r236676 = d9fd44e97a
r236677 = e6f0494cd8
r236678 = be6ad41cdd
r236680 = a94bd7a780
r236683 = 49204878d7
r236684 = 16e7e690b7
r236685 = f64a0c1b3e
r236686 = 0518652fc4
r236687 = cddf82ae35
r236695 = 4d5e059cdb
r236710 = a3ded6b432
r236711 = c128e5c8c2
r236712 = 3e9ef05a68
r236713 = 56992eb6ed
r236714 = d08d0340e5
r236721 = 89711f8e5c
r236728 = f6fa999df3
r236732 = 2d0087d82a
r236737 = ef7c2568fa
r236738 = bd58bdb7a6
r236739 = ee25f1e872
r236740 = 39cf555429
r236741 = b05b828eab
r236743 = f575e9f902
r236745 = 21cecaf445
r236747 = d7b5144d53
r236748 = 8359916759
r236750 = aa46024ea3
r236752 = ad80c2d9ed
r236754 = 9e31c0cf91
r236755 = 308873bcb8
r236757 = 46fa0aabcb
r236758 = 5ef2a17a62
r236761 = 12fe27fe05
r236764 = d887b7ef2f
r236768 = 82b39321e5
r236772 = 6564ee8933
r236775 = bbff669c18
r236777 = 914ef58002
r236778 = 2bdae13eff
r236779 = db5cc208f2
r236780 = 57d28fee47
r236781 = 97f4d65a0e
r236782 = e4eff4b231
r236785 = c8cfbdd791
r236786 = f31b4e9690
r236787 = ee2b250417
r236791 = 8404686a68
r236792 = a534f7be2b
r236794 = 330497fc95
r236795 = c0b80631b6
r236797 = 8227e6a8b4
r236799 = 66583e4917
r236801 = 7a5d9c0611
r236807 = dfa21e1100
r236808 = b1e759524d
r236815 = ca33d72658
r236829 = 4462e6d1b0
r236835 = 3fdd82e066
r236838 = baac106e1d
r236845 = 62f973306c
r236849 = 4650d0e792
r236850 = e9359f427e
r236852 = 900e1d0766
r236855 = ff3820a182
r236858 = 5081399663
r236863 = 405e5f276b
r236865 = d7e20e7be8
r236876 = 7fd56b1e4a
r236878 = 58b44d65f9
r236881 = aedc9c7f8c
r236885 = 8eaf047588
r236886 = d90099d36c
r236887 = c417f302cb
r236888 = 5c7f7462e4
r236890 = c2347d5cf1
r236891 = 278c121d39
r236893 = d3be0003c4
r236894 = 5de9960136
r236896 = 74b576041a
r236897 = f9f04c25b2
r236899 = d4f7f29277
r236900 = a54f2b87f7
r236904 = fd5c9868cb
r236905 = 262697d9d8
r236906 = 8ae273d380
r236909 = 5ba2a0b8b0
r236912 = 19d2499d6a
r236916 = 75e36e847e
r236918 = 275c111d9f
r236919 = 4406c32c19
r236921 = 68e53f68e6
r236922 = f5b930b2e2
r236923 = 7d66bd3e7f
r236927 = 01d1787830
r236928 = 31e094b55d
r236929 = fcae7eada1
r236942 = 52a759a24f
r236947 = 59a0fe6e3f
r236951 = 6c318f59b1
r236954 = a0adcdb9ce
r236955 = c7c44fa75e
r236968 = 3101b1a432
r236969 = c88eae46da
r236970 = 73f2a7bbb2
r236971 = 8189eb4d7e
r236972 = a08590e2dc
r236973 = cdd4737be8
r236977 = d6a9af6fd3
r236979 = 63df7cd4ea
r236981 = beb74d3cf7
r236987 = fe78d295da
r236990 = 9ffcd1bdbd
r236991 = 0a62359646
r236998 = 2605531fe8
r237004 = c9f2596abc
r237005 = 37848f1ada
r237008 = 948b20ecb3
r237009 = 5b5782c20e
r237013 = da4dc2dadc
r237014 = aeeca679f7
r237042 = a1945939bd
r237043 = 0cdb698aae
r237044 = 383c55870e
r237046 = f6548b86b6
r237050 = 051ef86497
r237051 = 4e5be5af59
r237054 = 1d4481df82
r237058 = aeda490976
r237059 = bbd301d97a
r237060 = 9fa8698925
r237061 = 310d031235
r237062 = 96086ad501
r237063 = e04fe6c135
r237065 = 12a7fbc55c
r237066 = 6eb095d7ae
r237067 = 66c6a4c240
r237069 = aa1c57e324
r237070 = 23ac4f1856
r237072 = d1074b0e7f
r237079 = 0552d51c45
r237082 = 772410aef6
r237083 = de65922947
r237090 = ee686477ac
r237093 = a4d6a35bf8
r237097 = 9cf6c24660
r237106 = cfff317af7
r237107 = 3bf2f23adb
r237112 = ed73167673
r237117 = 4ffee4b853
r237119 = d8b1e16033
r237121 = 98ed1175d9
r237122 = bc20d3b64c
r237126 = 00666a17ff
r237127 = e38f45effc
r237129 = 9cc691fa05
r237132 = 61637f35c3
r237133 = 27744344f8
r237134 = 9c9f5585b9
r237139 = 112c87e94f
r237140 = a89c1839c7
r237141 = 6ecd744594
r237142 = f36ad4aa04
r237143 = a52fdfb7c7
r237144 = 1ef2ae014d
r237145 = 09f089a39e
r237146 = 413b283997
r237148 = 77686a97a0
r237150 = 561c44fc33
r237152 = e83e5d460d
r237153 = 2c3514ae0d
r237156 = e2d9012a38
r237157 = 99ffa5b711
r237158 = 043da74b89
r237160 = 7fb69bc395
r237163 = eaba2dd2f1
r237164 = 07cf3c32e3
r237165 = 975251a698
r237166 = 81b3ceba60
r237167 = 94f1e3c66e
r237168 = 762a691bd6
r237169 = f23c6af13d
r237170 = 891914aef8
r237172 = c89f135a41
r237175 = 0d8dadf96e
r237176 = 6214347294
r237179 = fc6fbeda2d
r237180 = fc9309b63f
r237181 = 9e2a698369
r237185 = fab55cf45f
r237186 = 9d14a5a910
r237189 = 8574cb5905
r237191 = 11fb9642dc
r237193 = 414a781256
r237195 = 0f696bb57e
r237196 = 00730a77f1
r237197 = c31e732474
r237198 = b8a0c0ecb3
r237200 = 6865b977ae
r237201 = 1b8b7d61ee
r237204 = 00386077e1
r237208 = a5a1b190d8
r237209 = 36ae8103b1
r237210 = 42042e5c3f
r237211 = 82550fed5c
r237212 = 36cb3ce66a
r237214 = ead2d1fbe0
r237216 = 3062272092
r237220 = f0240dde53
r237223 = c83d5914c3
r237224 = c6c9f35804
r237225 = a0706f51ce
r237226 = 19a19a9ad1
r237227 = 6acfb5a28b
r237231 = 448c555c54
r237232 = d5c1ae7e36
r237234 = 1336daad86
r237237 = 6eb9a62fe0
r237242 = 4d8e3c44c1
r237245 = 66112dd7f8
r237247 = e8dceea402
r237255 = c617a13a2e
r237256 = b937dadfb2
r237257 = cdecddaf1e
r237258 = e55e117ad3
r237259 = dcc57103b8
r237260 = a3bccceda7
r237261 = e49e65326a
r237262 = 552cd98683
r237265 = 0e0929ed98
r237266 = a036cd4093
r237269 = 12b5fa5f6e
r237272 = 2727b58c88
r237273 = 115494b777
r237274 = 428e9d7608
r237275 = db703aaedd
r237276 = 1826197dbd
r237284 = 89614e19a2
r237285 = 7569db4a8c
r237286 = 3f0ca03e94
r237287 = f11e64dc03
r237289 = 3bc33d9ca1
r237290 = ac8a7cc8d2
r237293 = edd72727ad
r237294 = 43b1362516
r237295 = b11a191088
r237297 = da645e31a7
r237298 = 42ab8c0a90
r237300 = 0030b52f73
r237301 = 33bf03ed89
r237307 = 98f0f26fdf
r237308 = 933e6287fe
r237309 = 393c054cd2
r237310 = a8a342bb41
r237311 = ea3c20f400
r237312 = 7c001dac7a
r237314 = b96942f6ec
r237317 = 172e8df4af
r237324 = d8b3f0d785
r237327 = edd2bb863e
r237334 = e6fb4ac3ed
r237340 = bbf57b36bb
r237341 = 1fbf73bae3
r237342 = 8a049abf2f
r237343 = bed1965111
r237345 = f8ca978417
r237350 = 2fa91afc46
r237354 = 3f7bd961d1
r237355 = fbcecce27e
r237356 = 78549eb45b
r237357 = 6a882f8907
r237358 = dd469afe15
r237359 = e7beeb8ea1
r237361 = 9ce56af1eb
r237362 = 2f29498a6b
r237363 = 7c7cbd2669
r237365 = 23b0065f29
r237366 = e6f281a2ff
r237367 = e0b6c1146d
r237372 = c2c3c689e6
r237373 = 6912fe6f35
r237375 = e9c8191eeb
r237376 = be4ab8dafe
r237377 = 56a5661c60
r237378 = fd466aa498
r237379 = 49d3196418
r237388 = abf95a22c4
r237389 = 4789642b0b
r237394 = 42d0f8304e
r237395 = 95f7517f1b
r237398 = b046b93d25
r237399 = 33a0cf6c56
r237400 = 6f1b9541ba
r237403 = a8adbcb9de
r237404 = 29a3c1d580
r237405 = 2b5899e7fc
r237407 = 19eda5312a
r237408 = 47ccfa7de8
r237409 = d0db0dec5e
r237410 = a1882d43c3
r237412 = 634e01a3e5
r237413 = 4c4b944e83
r237414 = fa93d0e1c6
r237417 = 1cf942cb4f
r237423 = 4fa71b66a8
r237428 = 039eb5a7b8
r237439 = 39a7d6e91d
r237442 = 9cf8a47690
r237449 = 08709687ef
r237451 = 975307cc50
r237452 = eb9033d963
r237453 = 49f69b8e25
r237455 = d63e0fc2d9
r237456 = ef0b6c4b1e
r237457 = 7363a8bcdd
r237458 = c683eb2d37
r237459 = 85e632de29
r237461 = 1bef1cdd92
r237462 = 0048c06a9d
r237468 = 8b22e9c00a
r237469 = 251a66ec37
r237470 = 792476e626
r237471 = 21a996a0e3
r237474 = 7fa889dd87
r237476 = e892415f25
r237478 = 9e514203d1
r237481 = 39aa893201
r237483 = fc9bfcd184
r237486 = eaf14f30c8
r237487 = 6c16124807
r237488 = 6bde794d52
r237489 = b42b9f8563
r237490 = c5f2ba0401
r237494 = ddf553bb8d
r237496 = a5bb842d95
r237497 = 5f7c1f8415
r237498 = 9e6378de57
r237499 = 24f0469865
r237501 = 43c7aeef66
r237502 = 57e32d40b7
r237503 = 487db4685a
r237506 = 8081057fca
r237510 = 3ac70da982
r237511 = a4b093e2d3
r237512 = 819ce3c51d
r237513 = 5dddb1909c
r237514 = d43901cbb1
r237516 = 39dd163cdb
r237517 = f01f1c413a
r237520 = bc71c2fd8e
r237521 = ea08c0b975
r237522 = 8ef9968822
r237523 = a0b851cb9c
r237524 = 11ba91f321
r237526 = e9fd02be07
r237528 = cca49027ef
r237533 = 9380329c4e
r237536 = 84b93666b3
r237537 = a0eb803376
r237539 = 2bb2ea8105
r237544 = eddedaab45
r237545 = 01c0018953
r237556 = 78ce816d3f
r237557 = c4a426be4f
r237558 = d026e5020b
r237559 = 324d41ce49
r237560 = 1c21f2ef8c
r237563 = 865eb964f3
r237572 = 59f6c04f94
r237573 = 2f2bbe4ced
r237574 = a4c8c9292b
r237576 = b6f6eee8fd
r237579 = d811b4bacb
r237580 = f272788a95
r237581 = ee058202fa
r237582 = 1467a41471
r237583 = 0139af335f
r237584 = 292c78ba68
r237585 = ccafe05df1
r237586 = 688ae334a3
r237587 = 0b9ee775f5
r237588 = febe7813c8
r237589 = 2703007b7b
r237590 = 9962fd0e2e
r237593 = 0799eb1140
r237594 = 19696daa21
r237595 = 7b81f734ee
r237597 = 2306579644
r237605 = 881547e01b
r237611 = e4603f0daf
r237614 = 825a528bbe
r237617 = 05ef67b6b9
r237619 = 70a2c7260a
r237620 = 8b6f5f0909
r237621 = 6b57892624
r237622 = 847a488261
r237623 = 300c594636
r237624 = 042dd34f9c
r237627 = 4d632b44e2
r237628 = b2bf278152
r237629 = ff4ab44626
r237633 = 4f5829ac4d
r237634 = 1193b61df0
r237635 = 42d8237570
r237639 = 37f1bba13a
r237641 = d42228154f
r237642 = a641a4a89e
r237643 = a6698bb5d4
r237644 = 91088c696d
r237645 = 09f87b4a7b
r237646 = c3ccd67d72
r237649 = 3b3cbed1b0
r237650 = bf27e11e02
r237651 = 42cff157db
r237667 = d70b3aca8e
r237669 = df11b54057
r237673 = 4a9771567e
r237677 = 6aed5afbbb
r237678 = 8fae893373
r237680 = ef3ec7c783
r237682 = 5440f2198d
r237683 = a44933e6d0
r237685 = 7004ac8b5a
r237687 = 07cfd922f0
r237689 = dfce63b1ba
r237692 = 7141b3d6f3
r237694 = add5ea661a
r237695 = f1ed587ebf
r237696 = 94ddfe5e09
r237697 = 70d1005bbd
r237701 = 42737039d5
r237702 = 51891f2364
r237703 = 92948b04c3
r237705 = 038aeda7cf
r237706 = f7ad33bd8a
r237707 = 98fe1d290c
r237708 = 328f462f3c
r237709 = 27ca64f3d3
r237710 = 61386a4fe3
r237711 = f75a247286
r237712 = 4c34f96cd6
r237715 = 0f9fcd22b3
r237717 = 4c8545c815
r237719 = 041ab65fcd
r237720 = 4d88c3ebad
r237721 = 4ca606f22f
r237722 = 64b0d53256
r237723 = 65266361a1
r237724 = 31d2ee7360
r237726 = dfc41dbcda
r237728 = 94a1bbfebc
r237730 = e5a723675b
r237731 = b9b3fb261e
r237733 = 05f725eb67
r237734 = 4345121f7d
r237735 = 556425f9a9
r237736 = 486f97bf19
r237739 = c0f6113287
r237743 = 4bc9d4ea26
r237744 = a5703bc52e
r237749 = e1fce8692d
r237750 = 891fd53a90
r237751 = a6f501cb97
r237753 = 95d08bce87
r237766 = ed5afe4277
r237770 = 37e9aba0db
r237772 = 349f0b12a4
r237773 = 64f9e5908b
r237774 = ee25444b06
r237775 = 43ec501d2c
r237780 = 362b8e5b52
r237786 = efab5a1dfa
r237789 = e1207bb8a2
r237790 = cb9a410149
r237792 = a77462187f
r237793 = b65b24c0df
r237794 = cc3dffb519
r237795 = 5a2d715235
r237797 = 8ca7ac2a38
r237798 = f5bdf04f09
r237799 = c8d166a437
r237801 = 10054fb7b0
r237803 = 20cf3f41e7
r237807 = 91a675f972
r237809 = 1563a4a416
r237810 = 9584e07a9c
r237812 = 12f6308247
r237816 = 80b2cb6d4d
r237820 = ee15f86421
r237821 = d594ba0815
r237822 = fa3d0dc026
r237823 = bed96c8d97
r237826 = 96273f6cbe
r237827 = c212d49d75
r237828 = 644f1ff184
r237829 = cfa5342444
r237830 = e86ba4b571
r237833 = 3f1b2bdf5d
r237836 = b753a30d3b
r237837 = e677c7bd22
r237838 = 14a714f727
r237840 = 0dd9a6767c
r237843 = fa13c712af
r237849 = d4483d4512
r237851 = 05b0f7dc93
r237852 = 7681f6a1b0
r237854 = d0f4ffa472
r237855 = 008a1efecf
r237858 = 6d1485e974
r237859 = f12338a6b7
r237860 = 47ee653cdc
r237861 = d591505d9f
r237867 = aa87ff8440
r237868 = 549a742ba4
r237869 = 0141c66026
r237873 = 4652459f64
r237874 = 8eca988b00
r237875 = 1d4f2ba509
r237876 = 583dac827c
r237877 = 80bb2d981d
r237884 = cebe8f8b05
r237885 = 87d1836793
r237889 = 41c749a31f
r237890 = a9a920d652
r237893 = 946d5f5631
r237897 = 5ac9604df7
r237899 = 897d9bccdc
r237902 = b6ea67e027
r237903 = 86425451e5
r237906 = 2267264ceb
r237908 = 57f70578fa
r237909 = f209e26fcc
r237910 = c1d0ef9a9a
r237911 = dc089e4dc3
r237912 = 43356a1a45
r237913 = e0376b0782
r237914 = 7d83b1223c
r237915 = 921229e74e
r237917 = 090f1dedf0
r237918 = 430cdabf46
r237930 = 4c919af335
r237936 = 7521964d28
r237937 = 24ed4de261
r237938 = ad7c1174c7
r237939 = 493bc7e300
r237940 = a127bd0585
r237941 = 7e452b8b73
r237942 = 802ab073da
r237943 = 9a9984d0b5
r237944 = 3b294b5753
r237947 = 5368a26e16
r237949 = 849c7601a0
r237950 = c9389db422
r237951 = fabbc4985b
r237952 = 63292d1bba
r237954 = 3e5034d130
r237955 = f8330b43ee
r237956 = 477acf64d0
r237958 = bd75a9292e
r237960 = 6777be3446
r237961 = b6976af3cd
r237962 = a33f5160eb
r237963 = 676efa4d56
r237964 = 3ad083f2cb
r237965 = d525214b96
r237967 = 1052042adf
r237968 = 41af60bdc0
r237969 = 56409de6c4
r237970 = b86942cca4
r237971 = 41cf9ae1b8
r237972 = 66811d9817
r237974 = afcd3e68a8
r237975 = a89d43a2ce
r237976 = fcf7993d4a
r237977 = ab0b15dff8
r237978 = 4ea24c84fb
r237980 = 6b3b93fc8b
r237984 = 253c092e56
r237985 = 2c78f9499c
r237990 = 9233137390
r237993 = f5ed85b2c8
r237994 = edcdc5cb6a
r237995 = fe0d65bcc6
r237996 = 82967c0bcd
r237997 = 73993abb6c
r237998 = ec8c491a06
r238000 = 117f3a66e8
r238001 = 6c3a7cbe54
r238003 = 005bf5f8b0
r238004 = b7888bd5ea
r238005 = f5e0674d06
r238007 = b6b98c12d5
r238008 = d9a08b08ac
r238011 = c189633586
r238012 = 25103832b2
r238018 = c6174adb16
r238019 = 05f7d4f508
r238022 = 8a95a5095d
r238024 = cc3f1db34c
r238025 = 27b0e0b7de
r238026 = 3e785f0ec1
r238027 = 08bac7b901
r238028 = 7b677dd986
r238032 = 490d207be4
r238033 = 15fe7cf70f
r238035 = 57cc146595
r238036 = 84b1a805bb
r238038 = 1fd101c86d
r238044 = 157fbac534
r238047 = 0ceb20d6f4
r238049 = d3244b7749
r238051 = 7e80a67d35
r238052 = bde8616229
r238053 = 6af60ebd57
r238054 = d8319655f2
r238059 = ebada2c2bc
r238062 = b3fdcb3739
r238063 = 464deacf05
r238066 = 12baade498
r238071 = e00c0df2c4
r238073 = 7c4f3dcc5e
r238074 = 4e5aa77b3d
r238075 = 58bf2827d3
r238077 = 9484f5764c
r238078 = 4ea4cb3197
r238079 = c17da7166d
r238080 = 01461204b3
r238081 = d434a0a1b2
r238082 = 804c199b75
r238084 = b5f8c9b2ec
r238086 = 762dbd0574
r238093 = 01fc7e7a0f
r238094 = 2b6e06c46a
r238095 = 2077fc4acf
r238096 = c1c3e6c7ec
r238097 = 43a5aa62d4
r238099 = a5d0a48209
r238101 = 24b6dadf2d
r238102 = 083d79a583
r238103 = 2b5e37952f
r238104 = 1de72bda4e
r238107 = c009e842cb
r238108 = f44ed0919c
r238110 = 4064cb4762
r238111 = 556ca517ab
r238112 = 8d2d4e2637
r238113 = 237137532a
r238114 = e3ae958f94
r238116 = 1717728066
r238117 = 24ad5c9e05
r238118 = 3755781deb
r238119 = 9ec6380779
r238120 = 6c44d1fc4e
r238121 = b976cabda3
r238122 = 518dcb905e
r238123 = 8ef4be78cd
r238124 = 3dd00ff834
r238125 = f61fb0c9a7
r238126 = 4d3b6d43cc
r238130 = 17b7d6bf25
r238131 = 8ffbb68a86
r238132 = 675da70da5
r238134 = b9f5ce3a43
r238137 = 84ff6c4ce7
r238138 = 98e5e8e3f6
r238139 = 8823110a85
r238140 = 6cd7f1bca6
r238141 = b3eb86c875
r238142 = 63b75630b4
r238143 = 68c5b83e12
r238144 = 948ecae20e
r238146 = cbb915183e
r238147 = 38aad1c16a
r238148 = e2b87dee1e
r238149 = 4da23583b6
r238150 = 712c27f870
r238151 = 41a6e6a698
r238152 = 0cb6d37dea
r238154 = 002c5281ef
r238155 = 0d46e8a420
r238156 = ab78d67435
r238157 = 50c2fe1d5c
r238158 = 5e435847b0
r238159 = e86bc46939
r238160 = 68e7d22de4
r238161 = be38d7cb8c
r238162 = f363960679
r238163 = 504473e6ae
r238164 = 5c84463094
r238165 = 1826cd69f3
r238167 = eac71e23fd
r238168 = 369611994b
r238170 = ea3533b4c6
r238172 = 2224f64c6d
r238177 = ef92f29b75
r238178 = a274efbc67
r238179 = d60caada8b
r238180 = cfacb30e5d
r238181 = d0185f83c6
r238185 = 88008cb710
r238186 = c9739ec212
r238187 = 7b0f8fc600
r238188 = eda9f8aa74
r238190 = bda72d8098
r238192 = d714fcf5c8
r238195 = 55fd78065f
r238197 = 9ed9b04cea
r238198 = 001a2ba63f
r238199 = 617dbfc31e
r238201 = 262e24f7af
r238203 = da68b18db5
r238204 = 7ff8c5c348
r238205 = 9ec47b85c7
r238208 = b14ebd6a1d
r238210 = 75775939fa
r238211 = 8352b74577
r238213 = 5a22e848da
r238214 = 013041ad5c
r238217 = a0dd2b4df8
r238218 = c068b91ae1
r238222 = 69dd37580c
r238223 = 9c24c958f1
r238228 = 0704171907
r238229 = 176d1faf6a
r238232 = 890a876e0e
r238235 = f580f3683c
r238236 = e4af3b4160
r238242 = 74f44b6c69
r238243 = 2cc3e0a5ec
r238244 = 6f49135066
r238247 = 30244cec4f
r238250 = 8a7b4ea2ad
r238251 = ea8a3963b4
r238252 = d59f970668
r238254 = 90b5eb2319
r238255 = 116e31ffbe
r238261 = 1c74d4768a
r238264 = 13146c7e3b
r238265 = c756772b8d
r238268 = ba7ccd4201
r238269 = 316f9e05ce
r238272 = 1c0b496636
r238275 = 7306f3b6f5
r238276 = 34afa06cf2
r238277 = e498b5094c
r238287 = 299e50237a
r238288 = f5b4273058
r238289 = 63e9bfa72b
r238292 = bdfc11784b
r238293 = 60c91c28e4
r238295 = 957830dc8e
r238301 = 078088b790
r238302 = 3a9cbffdcb
r238305 = 910146c989
r238306 = 8be6039072
r238311 = baaf8b82c3
r238315 = eac1f66427
r238317 = a287fe7fa0
r238320 = 919ce81d38
r238322 = d56dcc4243
r238325 = b8124ac882
r238327 = faf287243a
r238328 = 1da0f919d5
r238329 = 7e5614efc2
r238330 = b167996819
r238331 = 899cab6126
r238332 = 3e6e3602d5
r238333 = dbab00a2d4
r238335 = df65fd3205
r238336 = 72be0e4224
r238337 = e93c0d6817
r238341 = 61aecc8c23
r238343 = fb421f446e
r238344 = a052a77187
r238346 = 3e7c30ada1
r238349 = b9d92c6a8d
r238350 = 3c41ae83f2
r238351 = b72f3e0d32
r238352 = 711655614b
r238353 = deae59fceb
r238356 = 8cc212a07e
r238357 = 41cea417fa
r238358 = 792e158397
r238359 = 344593ce6c
r238362 = 09fe4bf794
r238364 = 611a2f2322
r238366 = 95afdd3a07
r238369 = 636aba5bd1
r238371 = 49e9f44cb1
r238372 = 59be554de4
r238375 = 2c46a37b03
r238388 = ba80ee7307
r238390 = bd47c6b559
r238391 = 9dacaea1a1
r238396 = 4977e92629
r238397 = 48e2671cb6
r238398 = 38e3e6a195
r238399 = aac3ba8fad
r238402 = 08e5ec43f4
r238403 = bf2ac0e578
r238404 = ae2de5d12b
r238412 = 24bccaf9f9
r238414 = 7f4bf08286
r238415 = 1af0c40934
r238418 = 331b719b2b
r238419 = b97d261a17
r238424 = a703f676f7
r238427 = 8bf191d139
r238429 = 6952e75aa5
r238432 = c4e38f605e
r238434 = 5d25204af9
r238439 = 95fa1db8f5
r238444 = b9ffeb0979
r238445 = ca67e337bf
r238446 = fd64e0f71a
r238447 = 3899951490
r238448 = 4c9279423e
r238450 = 2f6ca834ff
r238451 = ef1de3295a
r238452 = 967f6ad3e1
r238453 = 58dd70dced
r238456 = bfecc6bdee
r238457 = cada158dc3
r238461 = 24441414a3
r238462 = 40d9379cd5
r238463 = b665c2b05e
r238465 = 48f886b9de
r238468 = 2c7cce70cd
r238471 = 86c0a109d8
r238472 = 9417bdcc55
r238473 = 27565d6185
r238477 = 7978ab3ad9
r238479 = f3344cdffb
r238480 = c66c8e7730
r238481 = 8ecf661ef1
r238483 = 1348f57925
r238485 = 117715ca06
r238487 = 7738ecd62b
r238491 = 34aecd4f40
r238492 = db8eb52635
r238494 = 20e00576af
r238501 = cb95e9ef45
r238503 = 81f64c04d7
r238505 = d9f97d149f
r238506 = 9886da621d
r238507 = 61897e8564
r238508 = 588f5f0cbb
r238509 = 9cc5055248
r238511 = 6882d57ef2
r238513 = fb48de619e
r238514 = 5f50442d79
r238515 = 47b5a3cbea
r238516 = e53c28ad5b
r238518 = 354851651c
r238519 = 3682046086
r238520 = b78a66659b
r238521 = 178db50629
r238523 = 7984aa9d58
r238524 = 97c5de758a
r238531 = c0d1ce55ac
r238534 = 85f66de8cc
r238536 = d4b59dcdba
r238537 = 7e31fe7e20
r238539 = e67bd6c248
r238540 = 2ec7970df4
r238543 = 60bc0ab340
r238552 = fcac2ecd8d
r238554 = 3379f2492e
r238555 = 3b08750746
r238556 = 0ace3c01f7
r238557 = 00703e975e
r238559 = 616c7afb70
r238573 = ed0d841f59
r238574 = ef056a9111
r238575 = 16e4a624c4
r238576 = 83d291ae8b
r238578 = 8493722975
r238579 = b2faffd63a
r238580 = 28afbf2421
r238582 = 052a7becbe
r238583 = 82fdcc0e7f
r238584 = 9282af9d6c
r238586 = 2368d54c07
r238588 = 3bd732d1ee
r238589 = e97d937576
r238591 = f021547d33
r238592 = 09681051e6
r238596 = 5b68a837c7
r238597 = 21a7b73e04
r238598 = 071c3df378
r238602 = 9589ff8949
r238607 = f00654bc0f
r238608 = 873d4e200d
r238609 = 63e7baf8f6
r238611 = 5760c5fe31
r238612 = 38a2e49d1c
r238617 = cfac75ad0e
r238619 = f0e3e4cd84
r238620 = bb06a52fa7
r238627 = bfa311df8c
r238632 = dbf84c95fe
r238633 = 3b821159da
r238634 = 586c0042da
r238635 = 43d1e87d73
r238636 = 828f5b807c
r238637 = d8018eeac9
r238638 = 89a133960b
r238639 = b26a073acb
r238640 = 3279f2381b
r238641 = e0d2a2939d
r238642 = 60dbe0fd0d
r238646 = 17246b12cf
r238647 = 15617cdf57
r238648 = be43b88fae
r238650 = da8bb20158
r238651 = 215bfbf9ea
r238652 = fa68750e54
r238653 = 9d945aa625
r238654 = 08786dc314
r238655 = bfe3365795
r238658 = 63da212749
r238659 = 32de7d791e
r238660 = 27420dd231
r238663 = dbdf667725
r238664 = dd25aab4f0
r238665 = a651b2236f
r238676 = d79915c6fe
r238680 = 876dd978b8
r238692 = 37041b8d58
r238693 = 67635abeaf
r238694 = b3d23d2f42
r238695 = d41d04784c
r238697 = 7b72baf44a
r238698 = f8f9476a1b
r238699 = 23125c500f
r238700 = 64afb8375d
r238701 = 5a13050628
r238702 = 75ce6bba4e
r238703 = 481f35f113
r238704 = 2e20fdbfcb
r238705 = 13950e506d
r238706 = 2dd8a67317
r238707 = d1678240e5
r238708 = 223e58b67d
r238709 = dd2e39c453
r238716 = d84c8ef1be
r238723 = 5f3a6430d6
r238724 = 9f63519857
r238725 = ec93655812
r238726 = f15cab13cb
r238727 = dd2a26fccb
r238728 = 9029910d9f
r238729 = 8e12b59b13
r238730 = 64f16f5332
r238735 = aa62d8a6b2
r238738 = af0e519127
r238739 = 7d97fc4164
r238740 = c2165f1e9f
r238741 = 84ffd21170
r238742 = 68f83e59f7
r238743 = bbd7cab2b9
r238744 = fe195d78dd
r238745 = b06d15c70f
r238747 = ba9e3285d0
r238748 = 8a6a249f6b
r238749 = d997435840
r238750 = 30e43fe1a9
r238751 = 872808e946
r238753 = 1758082f64
r238755 = 30b5412d92
r238756 = e490b7733a
r238757 = d4b311fb43
r238759 = 0cc6b87583
r238760 = a509ef9a17
r238762 = 57e487e92c
r238763 = 6f9474c1e1
r238766 = 5a0272c759
r238772 = 9be6a55ba0
r238776 = 3fcf5a99cb
r238781 = 786b471cc6
r238783 = 1392cf25e2
r238784 = a3698105eb
r238785 = fa2b7e5cb4
r238788 = 2c403d6891
r238789 = 91e4ebaf74
r238790 = a116a41be0
r238791 = bd84bdb2be
r238792 = 0b48e9a83c
r238793 = fe1391f07d
r238795 = d421582e90
r238796 = 3fcfa4873a
r238798 = 3ba7d326d5
r238799 = 574635710f
r238800 = 398f175c45
r238801 = f7e0685b9a
r238804 = 69aef63931
r238805 = a1bedd75a0
r238806 = 61f49542d7
r238807 = 77c7578426
r238808 = caa40ec228
r238809 = 82fa06895e
r238810 = aa9e1c528b
r238811 = d929045eb5
r238813 = a5f14070fa
r238814 = ad601b6b90
r238815 = fa82cb6244
r238817 = 01cf1d3ef3
r238818 = 1e7e9b1881
r238821 = 6b35bec8ef
r238824 = 9751e35f20
r238829 = 330e5f16d1
r238830 = ccbc17f896
r238834 = 6628cb50bd
r238838 = 1145b66434
r238842 = 871beb8dd7
r238843 = 5a04f4af36
r238844 = 6c55f8dda7
r238853 = 31ed6b767b
r238854 = 16fb1632a1
r238858 = 33d75a269c
r238863 = 92a1dad6d1
r238864 = 569f382a46
r238865 = 581e255b1f
r238866 = 66774f6700
r238867 = 6af0f89f37
r238868 = 4cc59a13c7
r238881 = 8fadf8f4d3
r238882 = e9609875ee
r238883 = f73780ec1a
r238884 = 531270e663
r238887 = 0ba7ba487d
r238888 = 4e94cb75e5
r238889 = 9c8ebbf969
r238890 = 2bff0d30f8
r238891 = 287f68d654
r238894 = 1a2a0ee8a0
r238895 = a3a2cab504
r238897 = cbf5311a34
r238898 = 8c7a0fd91a
r238899 = 201a551929
r238900 = a0bcb4184b
r238903 = 60e0898710
r238906 = dd5cde6e60
r238908 = aa17b5dd2d
r238915 = 682b194cd6
r238916 = 49659f6378
r238917 = 23dc4bbf1d
r238918 = 10eb2dd9df
r238919 = fc28da72f0
r238921 = b0e7aeb694
r238923 = ce375dc63a
r238925 = a57c862c9d
r238932 = 9bc6d84867
r238933 = e017a69163
r238935 = e942914d29
r238939 = 7953382dce
r238940 = 7745dac9d0
r238941 = 001b032fea
r238943 = 57c68eeefe
r238947 = 4009e89061
r238949 = 0a999e4d3a
r238951 = 6da0e02282
r238952 = 4ce10b56e6
r238953 = 5d42ddcd1e
r238958 = b743320bb3
r238959 = 696c93c900
r238975 = 96fdaa4f50
r238978 = a41438c5d8
r238979 = 2b9f4dc654
r238980 = f3857c334f
r238982 = 5eb7481d03
r238983 = 40ec40a179
r238985 = 4c7b7b29a2
r238996 = c212856f78
r238999 = 8c009e3943
r239001 = e4e5cf5a66
r239003 = dc967a97df
r239006 = d90fd082f9
r239010 = 64a82a3d70
r239011 = 79fa3fc84a
r239012 = cddcabadf2
r239014 = 693d40eec0
r239015 = bcca616029
r239016 = 1bbb64b206
r239017 = 7464cac572
r239019 = 7c290adeb4
r239021 = 40c791eda9
r239022 = 44bc71549e
r239023 = 71bb0e10c4
r239026 = 0880fe5997
r239029 = d34142ebf7
r239034 = 85e64ec630
r239035 = 545c30e82c
r239036 = 6ff6fc6055
r239037 = cd2647f4fd
r239039 = 45edf27ed7
r239040 = 7ec7c7d865
r239041 = 523b2cdb29
r239042 = 0f898d59f8
r239043 = c71a3797a6
r239044 = 800411deea
r239045 = 9f299abc05
r239048 = bebb0b5a34
r239049 = e0d4034b76
r239051 = a1f2f389f6
r239052 = 013ef59713
r239053 = 35cc03a1ea
r239056 = b0ed8b72ef
r239058 = 3e2318fbb5
r239062 = 15df8bebdc
r239065 = 1b77d22c66
r239068 = 3391374181
r239069 = 65cae0d169
r239070 = c07ee0c4ff
r239071 = ac73683b10
r239074 = 23fd513829
r239075 = d7eb7d7fb1
r239076 = fbfbe05819
r239077 = 00faba70cc
r239078 = 1d4ec71798
r239079 = 08a382531c
r239080 = 7e699dce03
r239081 = 5400980e1e
r239082 = 81fb217d91
r239083 = 711ff5004a
r239084 = aa48bf4e1c
r239085 = 3eb860ab87
r239087 = 0d9335eda7
r239088 = ea36630528
r239089 = a8dc0ee520
r239090 = 2cdee49937
r239091 = a520577e7e
r239092 = 4dbd603825
r239094 = 7c65b1bfb2
r239095 = 60b4c7fc30
r239096 = 5deb54f199
r239097 = 083f0122f0
r239099 = 6782fc61ca
r239100 = 834d242f6a
r239102 = 4e8f68f245
r239103 = 3a665e02da
r239105 = c9f2b5d535
r239106 = 468b904422
r239107 = cc68225e0c
r239108 = bc81286cac
r239109 = 62d21d2b1a
r239110 = 27d60c99f7
r239111 = 3e407efb8b
r239113 = 1ea35c2d52
r239114 = bb3883dfba
r239115 = b0b8cde9d4
r239116 = 196340cc6c
r239117 = 679607868f
r239118 = e2f87598ca
r239119 = eafe465f2a
r239120 = 71c4d5dcbf
r239121 = 22a5d492ef
r239124 = 83f903f352
r239125 = 85529a57b4
r239129 = 0a64b6de98
r239136 = 8beac08b74
r239139 = 2a89c94df6
r239141 = edbc0df974
r239142 = 406e5ea598
r239143 = 47dfcb7745
r239144 = b349e0f1f1
r239145 = dbaee6dadd
r239146 = 841f3dbae8
r239147 = b4435accd5
r239150 = c1c9bc1df7
r239151 = 272d7fdf42
r239155 = ed3a7f5f4c
r239157 = 474d2e0f05
r239158 = cdb8c729f2
r239159 = a8769fd4b2
r239161 = 750b351b76
r239162 = b6ebf678ac
r239163 = 8a5883aabe
r239164 = 862b2ad204
r239165 = cb66dc70e3
r239166 = 485adcac20
r239167 = 5a0d6b758c
r239168 = c1233a84b2
r239169 = f5c04a9da7
r239171 = 46216f7f99
r239172 = fffd691439
r239174 = aa4466db93
r239175 = b539fba9d7
r239185 = 527bb619d1
r239186 = 0f58c38ebd
r239189 = dfbf8971ca
r239190 = 7bef4c48d6
r239192 = a37c524912
r239198 = 9ccf07fb89
r239200 = c7968ac7b5
r239204 = 02890a5cf3
r239205 = 77411bdfe3
r239206 = c052f54559
r239207 = 33d0763bd1
r239208 = 8e29f136cf
r239209 = 32d99f93e4
r239210 = d032911655
r239211 = 4fb638b527
r239214 = dcb11d3206
r239215 = b21b529990
r239217 = e46e8af4d7
r239218 = 68081f41fa
r239227 = 2ca8f0f5d6
r239228 = ce986b6bc0
r239229 = 134cb22902
r239231 = 86a28d87b1
r239240 = 4514db2bfb
r239241 = 14c78fb9b1
r239245 = 06b2485912
r239246 = 20d6747043
r239247 = df70939242
r239248 = 698d0ae542
r239249 = 030cc6948a
r239250 = b241325294
r239251 = aa8479458e
r239252 = 43421abda8
r239253 = bd795464f4
r239254 = 7dcbed058f
r239257 = 4c4f0921dc
r239259 = 00040a8e8f
r239260 = 4e8236ed75
r239261 = 4d1a5272ec
r239262 = d9ac3ec939
r239263 = e18e3a1027
r239264 = 30d36cc8df
r239265 = 8cc8dbc062
r239274 = 0547b62a14
r239275 = 904db1100f
r239276 = 6af266fd88
r239277 = 095bfde743
r239278 = ee2e3d0eb9
r239279 = 3120bcb0de
r239282 = 3148e98284
r239283 = 965c107356
r239285 = f60ff6bdf6
r239286 = f57b36041b
r239291 = 43be1d53d1
r239293 = d72b357107
r239295 = a420a14276
r239299 = 1328b67dd1
r239300 = 17e24879cb
r239301 = f8aad6c1ef
r239302 = d48ce2c34f
r239303 = 7b4fbad146
r239305 = 298222a930
r239307 = 838271c858
r239308 = 7c40b1a7bc
r239309 = b0d6c659b7
r239311 = 62f764a6c9
r239312 = f560b88d7c
r239313 = a335f333be
r239314 = e25e889c7c
r239315 = cae8bc4504
r239316 = d3869ee8d2
r239317 = 1a8319cbef
r239318 = e2101ba7b5
r239324 = d354befbbb
r239325 = fa6bc2e94d
r239327 = 9ebaf8ce67
r239329 = f7e74363b8
r239333 = 8176f933d9
r239335 = 279ef837e8
r239336 = 4332f869bf
r239353 = 1666977cd0
r239355 = b65591326e
r239357 = dea5078cde
r239361 = 38a2b24c12
r239367 = 04ed4447ee
r239368 = 4e04297ac3
r239369 = d386615ed3
r239370 = d99ce2f630
r239377 = 0f59d850fa
r239378 = d2f17c4e2b
r239379 = cfd8f11d48
r239380 = b4863a99c9
r239383 = 657c697363
r239384 = af72cb1b94
r239390 = 792f79f4a6
r239391 = 6f9520411c
r239392 = 07ce69ae7d
r239395 = 4b0e9f114c
r239396 = dc2af2605f
r239397 = 695a997ef2
r239399 = ff7ef6c5c9
r239403 = 22debdcab6
r239405 = c154887856
r239409 = eae4673c2f
r239410 = e8bd930eed
r239411 = a0c9e11a2b
r239412 = 8e8c4b5615
r239420 = 6eee2375d9
r239422 = 92a42eead2
r239423 = 79e04c5844
r239424 = 7178ff1974
r239425 = ebfbf931a2
r239427 = 0e3246a86f
r239428 = 5c8a22f11b
r239429 = 38f72d04ea
r239430 = ea8e85d925
r239431 = a96fc7ab00
r239432 = e2e26b486d
r239433 = bdcbc426af
r239434 = 1d815cac84
r239435 = 95355e6498
r239437 = 12f81b4639
r239438 = 8478c82b28
r239439 = cbe2100f7e
r239440 = c11f1d8ae8
r239441 = dbb0802eb6
r239442 = b1337aba53
r239443 = be1349596d
r239445 = a8c0a9b042
r239448 = c8e72e9126
r239449 = 6d7e69b227
r239451 = 839f83e1e3
r239455 = f095095d4a
r239456 = e11157c668
r239459 = a6f2be013a
r239460 = 189930760d
r239464 = 03c060b6d4
r239465 = fff114c890
r239467 = 4d13f315d1
r239472 = 544d686bc0
r239473 = 29a533515f
r239475 = d5254aba82
r239477 = c196bfecd6
r239478 = 708de57fee
r239479 = 881c8e0c9a
r239480 = b78ea510c1
r239482 = 3de99b70aa
r239484 = bb79423d0f
r239486 = c826b54b52
r239488 = 6e5bbb57e4
r239489 = e0e42bb51f
r239490 = 0aae8ce09f
r239491 = 0fa7dc6b36
r239492 = 33102d2faa
r239493 = ea423677ca
r239495 = 294c7822a0
r239497 = e0d6eef952
r239501 = 5a118340dd
r239502 = 7963762fce
r239505 = f7d6501d1d
r239508 = a2cdb8ca59
r239509 = 44226ffc19
r239510 = 3b8d35fb8d
r239514 = 442f620296
r239515 = 7b35bb4e76
r239519 = 938cba6ae3
r239520 = d09e8beec3
r239522 = 9d115effdf
r239523 = f24e4e46cd
r239529 = 89f93ead2a
r239532 = 6b71bf10b6
r239533 = 6fcf906bb0
r239534 = a79d4da0f1
r239535 = 4bedcbcab3
r239538 = f0e3a9c174
r239539 = 564ff6478c
r239540 = b1d220c21a
r239541 = b0cbcd2362
r239543 = cd354fa84d
r239544 = 688e7b3049
r239545 = 29edabcc44
r239550 = 7356846f65
r239551 = bc482286fc
r239552 = 6c56decee0
r239553 = fd83cb21ce
r239554 = 4ddb0ced90
r239555 = 5a78f2db38
r239556 = 3238e64ef4
r239559 = 6f69f4074f
r239560 = 6170134a1f
r239561 = 2e960cb2c4
r239564 = 5182687026
r239565 = 68e51493f7
r239566 = 5e9819c5bd
r239567 = 3e16bd3aaf
r239568 = d48b38e9ec
r239570 = 1966aee2fe
r239571 = 341ba392d9
r239574 = 2bd0221fa4
r239584 = c70c41a688
r239585 = 7168a91de7
r239586 = 0fd41495ef
r239587 = 2cb369d538
r239589 = e0de59ac91
r239590 = ba74b27ed1
r239596 = 3b50e96994
r239598 = 5ac49ca9d6
r239599 = 14d0411acb
r239601 = 78b2ff76d9
r239602 = a66840f18d
r239603 = 3bc62ab179
r239612 = cb2dfa6478
r239616 = 0433a64174
r239618 = 18dd79c396
r239620 = cff40fc84a
r239621 = aaa3fa61d2
r239622 = 8b351e4040
r239623 = a6ff22119f
r239624 = c0bd42523a
r239626 = 51be69023d
r239627 = 923bd1da56
r239628 = 8040b1e469
r239629 = d25af8c396
r239631 = 2086b2e76a
r239632 = f52f043d3e
Done rebuilding /home/tstellar/llvm/.git/svn/refs/remotes/origin/master/.rev_map.91177308-0d34-0410-b5e6-96231b3b80d8
------------------------------------------------------------------------
r237132 | thomas.stellard | 2015-05-12 10:18:11 -0400 (Tue, 12 May 2015) | 5 lines

R600/SI: Replace TRI->getRegClass(Reg) with TRI->getPhysRegClass(Reg)

TRI->getRegClass() takes a register class ID, not a register.  We were
using this incorrectly in a few places.

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_36@240281 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-22 14:58:09 +00:00

286 lines
8.4 KiB
C++

//===-- SIFoldOperands.cpp - Fold operands --- ----------------------------===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
/// \file
//===----------------------------------------------------------------------===//
//
#include "AMDGPU.h"
#include "AMDGPUSubtarget.h"
#include "SIInstrInfo.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Function.h"
#include "llvm/Support/Debug.h"
#include "llvm/Target/TargetMachine.h"
#define DEBUG_TYPE "si-fold-operands"
using namespace llvm;
namespace {
class SIFoldOperands : public MachineFunctionPass {
public:
static char ID;
public:
SIFoldOperands() : MachineFunctionPass(ID) {
initializeSIFoldOperandsPass(*PassRegistry::getPassRegistry());
}
bool runOnMachineFunction(MachineFunction &MF) override;
const char *getPassName() const override {
return "SI Fold Operands";
}
void getAnalysisUsage(AnalysisUsage &AU) const override {
AU.addRequired<MachineDominatorTree>();
AU.setPreservesCFG();
MachineFunctionPass::getAnalysisUsage(AU);
}
};
struct FoldCandidate {
MachineInstr *UseMI;
unsigned UseOpNo;
MachineOperand *OpToFold;
uint64_t ImmToFold;
FoldCandidate(MachineInstr *MI, unsigned OpNo, MachineOperand *FoldOp) :
UseMI(MI), UseOpNo(OpNo) {
if (FoldOp->isImm()) {
OpToFold = nullptr;
ImmToFold = FoldOp->getImm();
} else {
assert(FoldOp->isReg());
OpToFold = FoldOp;
}
}
bool isImm() const {
return !OpToFold;
}
};
} // End anonymous namespace.
INITIALIZE_PASS_BEGIN(SIFoldOperands, DEBUG_TYPE,
"SI Fold Operands", false, false)
INITIALIZE_PASS_DEPENDENCY(MachineDominatorTree)
INITIALIZE_PASS_END(SIFoldOperands, DEBUG_TYPE,
"SI Fold Operands", false, false)
char SIFoldOperands::ID = 0;
char &llvm::SIFoldOperandsID = SIFoldOperands::ID;
FunctionPass *llvm::createSIFoldOperandsPass() {
return new SIFoldOperands();
}
static bool isSafeToFold(unsigned Opcode) {
switch(Opcode) {
case AMDGPU::V_MOV_B32_e32:
case AMDGPU::V_MOV_B32_e64:
case AMDGPU::V_MOV_B64_PSEUDO:
case AMDGPU::S_MOV_B32:
case AMDGPU::S_MOV_B64:
case AMDGPU::COPY:
return true;
default:
return false;
}
}
static bool updateOperand(FoldCandidate &Fold,
const TargetRegisterInfo &TRI) {
MachineInstr *MI = Fold.UseMI;
MachineOperand &Old = MI->getOperand(Fold.UseOpNo);
assert(Old.isReg());
if (Fold.isImm()) {
Old.ChangeToImmediate(Fold.ImmToFold);
return true;
}
MachineOperand *New = Fold.OpToFold;
if (TargetRegisterInfo::isVirtualRegister(Old.getReg()) &&
TargetRegisterInfo::isVirtualRegister(New->getReg())) {
Old.substVirtReg(New->getReg(), New->getSubReg(), TRI);
return true;
}
// FIXME: Handle physical registers.
return false;
}
static bool tryAddToFoldList(std::vector<FoldCandidate> &FoldList,
MachineInstr *MI, unsigned OpNo,
MachineOperand *OpToFold,
const SIInstrInfo *TII) {
if (!TII->isOperandLegal(MI, OpNo, OpToFold)) {
// Operand is not legal, so try to commute the instruction to
// see if this makes it possible to fold.
unsigned CommuteIdx0;
unsigned CommuteIdx1;
bool CanCommute = TII->findCommutedOpIndices(MI, CommuteIdx0, CommuteIdx1);
if (CanCommute) {
if (CommuteIdx0 == OpNo)
OpNo = CommuteIdx1;
else if (CommuteIdx1 == OpNo)
OpNo = CommuteIdx0;
}
if (!CanCommute || !TII->commuteInstruction(MI))
return false;
if (!TII->isOperandLegal(MI, OpNo, OpToFold))
return false;
}
FoldList.push_back(FoldCandidate(MI, OpNo, OpToFold));
return true;
}
bool SIFoldOperands::runOnMachineFunction(MachineFunction &MF) {
MachineRegisterInfo &MRI = MF.getRegInfo();
const SIInstrInfo *TII =
static_cast<const SIInstrInfo *>(MF.getSubtarget().getInstrInfo());
const SIRegisterInfo &TRI = TII->getRegisterInfo();
for (MachineFunction::iterator BI = MF.begin(), BE = MF.end();
BI != BE; ++BI) {
MachineBasicBlock &MBB = *BI;
MachineBasicBlock::iterator I, Next;
for (I = MBB.begin(); I != MBB.end(); I = Next) {
Next = std::next(I);
MachineInstr &MI = *I;
if (!isSafeToFold(MI.getOpcode()))
continue;
MachineOperand &OpToFold = MI.getOperand(1);
bool FoldingImm = OpToFold.isImm();
// FIXME: We could also be folding things like FrameIndexes and
// TargetIndexes.
if (!FoldingImm && !OpToFold.isReg())
continue;
// Folding immediates with more than one use will increase program side.
// FIXME: This will also reduce register usage, which may be better
// in some cases. A better heuristic is needed.
if (FoldingImm && !TII->isInlineConstant(OpToFold) &&
!MRI.hasOneUse(MI.getOperand(0).getReg()))
continue;
// FIXME: Fold operands with subregs.
if (OpToFold.isReg() &&
(!TargetRegisterInfo::isVirtualRegister(OpToFold.getReg()) ||
OpToFold.getSubReg()))
continue;
std::vector<FoldCandidate> FoldList;
for (MachineRegisterInfo::use_iterator
Use = MRI.use_begin(MI.getOperand(0).getReg()), E = MRI.use_end();
Use != E; ++Use) {
MachineInstr *UseMI = Use->getParent();
const MachineOperand &UseOp = UseMI->getOperand(Use.getOperandNo());
// FIXME: Fold operands with subregs.
if (UseOp.isReg() && UseOp.getSubReg() && OpToFold.isReg()) {
continue;
}
APInt Imm;
if (FoldingImm) {
unsigned UseReg = UseOp.getReg();
const TargetRegisterClass *UseRC
= TargetRegisterInfo::isVirtualRegister(UseReg) ?
MRI.getRegClass(UseReg) :
TRI.getPhysRegClass(UseReg);
Imm = APInt(64, OpToFold.getImm());
// Split 64-bit constants into 32-bits for folding.
if (UseOp.getSubReg()) {
if (UseRC->getSize() != 8)
continue;
if (UseOp.getSubReg() == AMDGPU::sub0) {
Imm = Imm.getLoBits(32);
} else {
assert(UseOp.getSubReg() == AMDGPU::sub1);
Imm = Imm.getHiBits(32);
}
}
// In order to fold immediates into copies, we need to change the
// copy to a MOV.
if (UseMI->getOpcode() == AMDGPU::COPY) {
unsigned DestReg = UseMI->getOperand(0).getReg();
const TargetRegisterClass *DestRC
= TargetRegisterInfo::isVirtualRegister(DestReg) ?
MRI.getRegClass(DestReg) :
TRI.getPhysRegClass(DestReg);
unsigned MovOp = TII->getMovOpcode(DestRC);
if (MovOp == AMDGPU::COPY)
continue;
UseMI->setDesc(TII->get(MovOp));
}
}
const MCInstrDesc &UseDesc = UseMI->getDesc();
// Don't fold into target independent nodes. Target independent opcodes
// don't have defined register classes.
if (UseDesc.isVariadic() ||
UseDesc.OpInfo[Use.getOperandNo()].RegClass == -1)
continue;
if (FoldingImm) {
MachineOperand ImmOp = MachineOperand::CreateImm(Imm.getSExtValue());
tryAddToFoldList(FoldList, UseMI, Use.getOperandNo(), &ImmOp, TII);
continue;
}
tryAddToFoldList(FoldList, UseMI, Use.getOperandNo(), &OpToFold, TII);
// FIXME: We could try to change the instruction from 64-bit to 32-bit
// to enable more folding opportunites. The shrink operands pass
// already does this.
}
for (FoldCandidate &Fold : FoldList) {
if (updateOperand(Fold, TRI)) {
// Clear kill flags.
if (!Fold.isImm()) {
assert(Fold.OpToFold && Fold.OpToFold->isReg());
Fold.OpToFold->setIsKill(false);
}
DEBUG(dbgs() << "Folded source from " << MI << " into OpNo " <<
Fold.UseOpNo << " of " << *Fold.UseMI << '\n');
}
}
}
}
return false;
}