Commit 2519013
committed
[MCP] Optimize copies when src is used during backward propagation
Before this patch, redundant COPY couldn't be removed
for the following case:
$R0 = OP ...
... // Read of %R0
$R1 = COPY killed $R0
This patch adds support for tracking the users of
the source register during backward propagation, so
that we can remove the redundant COPY in the above case
and optimize it to:
$R1 = OP ...
... // Replace all uses of %R0 with $R11 parent a3a253d commit 2519013
File tree
65 files changed
+4383
-5939
lines changed- llvm
- lib/CodeGen
- test/CodeGen
- ARM
- Mips
- llvm-ir
- tailcall
- X86
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
65 files changed
+4383
-5939
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
113 | 114 | | |
114 | 115 | | |
115 | 116 | | |
| |||
224 | 225 | | |
225 | 226 | | |
226 | 227 | | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
227 | 265 | | |
228 | 266 | | |
229 | 267 | | |
| |||
236 | 274 | | |
237 | 275 | | |
238 | 276 | | |
239 | | - | |
| 277 | + | |
240 | 278 | | |
241 | 279 | | |
242 | 280 | | |
| |||
427 | 465 | | |
428 | 466 | | |
429 | 467 | | |
| 468 | + | |
| 469 | + | |
430 | 470 | | |
431 | 471 | | |
432 | 472 | | |
| |||
667 | 707 | | |
668 | 708 | | |
669 | 709 | | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
670 | 730 | | |
671 | 731 | | |
672 | 732 | | |
| |||
1030 | 1090 | | |
1031 | 1091 | | |
1032 | 1092 | | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
1033 | 1096 | | |
1034 | 1097 | | |
1035 | 1098 | | |
1036 | 1099 | | |
1037 | 1100 | | |
1038 | 1101 | | |
1039 | 1102 | | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
1040 | 1112 | | |
1041 | 1113 | | |
1042 | 1114 | | |
| |||
1102 | 1174 | | |
1103 | 1175 | | |
1104 | 1176 | | |
1105 | | - | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
1106 | 1180 | | |
1107 | 1181 | | |
1108 | 1182 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | | - | |
| 14 | + | |
16 | 15 | | |
17 | 16 | | |
18 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
391 | | - | |
392 | | - | |
393 | | - | |
| 391 | + | |
| 392 | + | |
394 | 393 | | |
395 | 394 | | |
396 | 395 | | |
| |||
405 | 404 | | |
406 | 405 | | |
407 | 406 | | |
408 | | - | |
409 | | - | |
410 | | - | |
| 407 | + | |
| 408 | + | |
411 | 409 | | |
412 | 410 | | |
413 | 411 | | |
| |||
549 | 547 | | |
550 | 548 | | |
551 | 549 | | |
552 | | - | |
553 | | - | |
554 | | - | |
555 | | - | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
556 | 554 | | |
557 | 555 | | |
558 | | - | |
559 | | - | |
| 556 | + | |
560 | 557 | | |
561 | | - | |
562 | | - | |
563 | | - | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
564 | 561 | | |
565 | 562 | | |
566 | 563 | | |
567 | 564 | | |
568 | | - | |
| 565 | + | |
569 | 566 | | |
570 | | - | |
| 567 | + | |
571 | 568 | | |
572 | | - | |
573 | 569 | | |
574 | 570 | | |
575 | | - | |
576 | | - | |
577 | | - | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
578 | 574 | | |
579 | 575 | | |
580 | 576 | | |
581 | 577 | | |
582 | 578 | | |
583 | 579 | | |
584 | | - | |
585 | | - | |
586 | | - | |
587 | | - | |
588 | | - | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
589 | 584 | | |
590 | 585 | | |
591 | | - | |
592 | | - | |
| 586 | + | |
593 | 587 | | |
594 | | - | |
595 | | - | |
596 | | - | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
597 | 591 | | |
598 | 592 | | |
599 | 593 | | |
600 | 594 | | |
601 | | - | |
| 595 | + | |
602 | 596 | | |
603 | | - | |
| 597 | + | |
604 | 598 | | |
605 | | - | |
606 | 599 | | |
607 | | - | |
608 | | - | |
609 | | - | |
610 | | - | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
611 | 603 | | |
612 | 604 | | |
613 | 605 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
336 | 336 | | |
337 | 337 | | |
338 | 338 | | |
339 | | - | |
340 | | - | |
341 | | - | |
| 339 | + | |
| 340 | + | |
342 | 341 | | |
343 | 342 | | |
344 | 343 | | |
| |||
353 | 352 | | |
354 | 353 | | |
355 | 354 | | |
356 | | - | |
357 | | - | |
358 | | - | |
| 355 | + | |
| 356 | + | |
359 | 357 | | |
360 | 358 | | |
361 | 359 | | |
| |||
497 | 495 | | |
498 | 496 | | |
499 | 497 | | |
500 | | - | |
501 | | - | |
502 | | - | |
503 | | - | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
504 | 502 | | |
505 | 503 | | |
506 | | - | |
507 | | - | |
| 504 | + | |
508 | 505 | | |
509 | | - | |
510 | | - | |
511 | | - | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
512 | 509 | | |
513 | 510 | | |
514 | 511 | | |
515 | 512 | | |
516 | | - | |
| 513 | + | |
517 | 514 | | |
518 | | - | |
| 515 | + | |
519 | 516 | | |
520 | | - | |
521 | 517 | | |
522 | 518 | | |
523 | | - | |
524 | | - | |
525 | | - | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
526 | 522 | | |
527 | 523 | | |
528 | 524 | | |
529 | 525 | | |
530 | 526 | | |
531 | 527 | | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | | - | |
536 | | - | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
537 | 532 | | |
538 | 533 | | |
539 | | - | |
540 | | - | |
| 534 | + | |
541 | 535 | | |
542 | | - | |
543 | | - | |
544 | | - | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
545 | 539 | | |
546 | 540 | | |
547 | 541 | | |
548 | 542 | | |
549 | | - | |
| 543 | + | |
550 | 544 | | |
551 | | - | |
| 545 | + | |
552 | 546 | | |
553 | | - | |
554 | 547 | | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | | - | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
559 | 551 | | |
560 | 552 | | |
561 | 553 | | |
| |||
0 commit comments