Commit dd60663
committed
[SLP] Emit reduction instead of 2 extracts + scalar op, when vectorizing operands (llvm#147583)
Added emission of the 2-element reduction instead of 2 extracts + scalar
op, when trying to vectorize operands of the instruction, if it is more
profitable.1 parent c452de1 commit dd60663
File tree
7 files changed
+170
-81
lines changed- llvm
- lib/Transforms/Vectorize
- test/Transforms/SLPVectorizer
- AArch64
- RISCV
- X86
7 files changed
+170
-81
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21722 | 21722 | | |
21723 | 21723 | | |
21724 | 21724 | | |
| 21725 | + | |
| 21726 | + | |
21725 | 21727 | | |
21726 | 21728 | | |
21727 | 21729 | | |
| |||
21740 | 21742 | | |
21741 | 21743 | | |
21742 | 21744 | | |
21743 | | - | |
| 21745 | + | |
| 21746 | + | |
21744 | 21747 | | |
21745 | 21748 | | |
21746 | 21749 | | |
| |||
21749 | 21752 | | |
21750 | 21753 | | |
21751 | 21754 | | |
| 21755 | + | |
| 21756 | + | |
| 21757 | + | |
| 21758 | + | |
21752 | 21759 | | |
21753 | 21760 | | |
21754 | 21761 | | |
| |||
22020 | 22027 | | |
22021 | 22028 | | |
22022 | 22029 | | |
| 22030 | + | |
| 22031 | + | |
| 22032 | + | |
| 22033 | + | |
| 22034 | + | |
| 22035 | + | |
| 22036 | + | |
| 22037 | + | |
| 22038 | + | |
| 22039 | + | |
| 22040 | + | |
| 22041 | + | |
| 22042 | + | |
| 22043 | + | |
| 22044 | + | |
| 22045 | + | |
| 22046 | + | |
| 22047 | + | |
| 22048 | + | |
| 22049 | + | |
| 22050 | + | |
22023 | 22051 | | |
22024 | 22052 | | |
22025 | 22053 | | |
| |||
22187 | 22215 | | |
22188 | 22216 | | |
22189 | 22217 | | |
22190 | | - | |
22191 | 22218 | | |
22192 | 22219 | | |
22193 | 22220 | | |
| |||
22521 | 22548 | | |
22522 | 22549 | | |
22523 | 22550 | | |
22524 | | - | |
22525 | | - | |
| 22551 | + | |
| 22552 | + | |
| 22553 | + | |
| 22554 | + | |
22526 | 22555 | | |
22527 | 22556 | | |
22528 | 22557 | | |
| |||
23736 | 23765 | | |
23737 | 23766 | | |
23738 | 23767 | | |
| 23768 | + | |
| 23769 | + | |
| 23770 | + | |
| 23771 | + | |
| 23772 | + | |
| 23773 | + | |
| 23774 | + | |
| 23775 | + | |
| 23776 | + | |
| 23777 | + | |
| 23778 | + | |
| 23779 | + | |
| 23780 | + | |
| 23781 | + | |
| 23782 | + | |
| 23783 | + | |
| 23784 | + | |
| 23785 | + | |
| 23786 | + | |
| 23787 | + | |
| 23788 | + | |
| 23789 | + | |
| 23790 | + | |
| 23791 | + | |
| 23792 | + | |
| 23793 | + | |
| 23794 | + | |
| 23795 | + | |
| 23796 | + | |
| 23797 | + | |
| 23798 | + | |
| 23799 | + | |
| 23800 | + | |
| 23801 | + | |
| 23802 | + | |
| 23803 | + | |
| 23804 | + | |
| 23805 | + | |
| 23806 | + | |
| 23807 | + | |
| 23808 | + | |
| 23809 | + | |
23739 | 23810 | | |
23740 | | - | |
| 23811 | + | |
23741 | 23812 | | |
23742 | 23813 | | |
23743 | 23814 | | |
23744 | 23815 | | |
23745 | 23816 | | |
23746 | | - | |
23747 | | - | |
| 23817 | + | |
| 23818 | + | |
| 23819 | + | |
| 23820 | + | |
| 23821 | + | |
| 23822 | + | |
23748 | 23823 | | |
23749 | 23824 | | |
23750 | 23825 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
21 | | - | |
| 19 | + | |
22 | 20 | | |
23 | 21 | | |
24 | 22 | | |
| |||
57 | 55 | | |
58 | 56 | | |
59 | 57 | | |
60 | | - | |
61 | | - | |
62 | | - | |
| 58 | + | |
63 | 59 | | |
64 | 60 | | |
65 | 61 | | |
| |||
Lines changed: 16 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
13 | 19 | | |
14 | 20 | | |
15 | 21 | | |
| |||
20 | 26 | | |
21 | 27 | | |
22 | 28 | | |
23 | | - | |
| 29 | + | |
24 | 30 | | |
25 | 31 | | |
26 | 32 | | |
| |||
269 | 275 | | |
270 | 276 | | |
271 | 277 | | |
272 | | - | |
273 | | - | |
274 | | - | |
| 278 | + | |
275 | 279 | | |
276 | 280 | | |
277 | 281 | | |
| |||
409 | 413 | | |
410 | 414 | | |
411 | 415 | | |
412 | | - | |
413 | | - | |
414 | | - | |
| 416 | + | |
415 | 417 | | |
416 | 418 | | |
417 | 419 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
513 | 513 | | |
514 | 514 | | |
515 | 515 | | |
516 | | - | |
517 | | - | |
518 | | - | |
519 | 516 | | |
520 | 517 | | |
521 | 518 | | |
522 | | - | |
523 | | - | |
524 | | - | |
525 | 519 | | |
526 | 520 | | |
527 | | - | |
528 | | - | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
529 | 524 | | |
530 | | - | |
| 525 | + | |
531 | 526 | | |
532 | 527 | | |
533 | 528 | | |
| |||
568 | 563 | | |
569 | 564 | | |
570 | 565 | | |
571 | | - | |
572 | | - | |
573 | | - | |
574 | 566 | | |
575 | 567 | | |
576 | 568 | | |
577 | | - | |
578 | | - | |
579 | | - | |
580 | 569 | | |
581 | 570 | | |
582 | | - | |
583 | | - | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
584 | 574 | | |
585 | | - | |
| 575 | + | |
586 | 576 | | |
587 | 577 | | |
588 | 578 | | |
| |||
630 | 620 | | |
631 | 621 | | |
632 | 622 | | |
633 | | - | |
634 | | - | |
635 | | - | |
| 623 | + | |
636 | 624 | | |
637 | 625 | | |
638 | 626 | | |
| |||
682 | 670 | | |
683 | 671 | | |
684 | 672 | | |
685 | | - | |
686 | | - | |
687 | | - | |
| 673 | + | |
688 | 674 | | |
689 | 675 | | |
690 | 676 | | |
| |||
733 | 719 | | |
734 | 720 | | |
735 | 721 | | |
736 | | - | |
737 | | - | |
738 | | - | |
| 722 | + | |
739 | 723 | | |
740 | 724 | | |
741 | 725 | | |
| |||
0 commit comments