Commit 540cf25
authored
[RISCV] Split f64 loads/stores for RV32+Zdinx during isel instead of post-RA. (llvm#139840)
This avoids a bunch of complexity around making sure the offset doesn't
exceed 4093 so we can add 4 after splitting later. By splitting early,
the split loads/stores will get selected independently.
There's a bit of follow up work to do, particularly around splitting a
constant pool load. Overall I think this is cleaner with less edge
cases.1 parent 4265733 commit 540cf25
File tree
12 files changed
+474
-461
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV
12 files changed
+474
-461
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2576 | 2576 | | |
2577 | 2577 | | |
2578 | 2578 | | |
2579 | | - | |
2580 | | - | |
| 2579 | + | |
2581 | 2580 | | |
2582 | 2581 | | |
2583 | 2582 | | |
| |||
2591 | 2590 | | |
2592 | 2591 | | |
2593 | 2592 | | |
2594 | | - | |
2595 | | - | |
2596 | | - | |
2597 | 2593 | | |
2598 | 2594 | | |
2599 | 2595 | | |
| |||
2617 | 2613 | | |
2618 | 2614 | | |
2619 | 2615 | | |
2620 | | - | |
2621 | | - | |
2622 | 2616 | | |
2623 | 2617 | | |
2624 | 2618 | | |
| |||
2710 | 2704 | | |
2711 | 2705 | | |
2712 | 2706 | | |
2713 | | - | |
| 2707 | + | |
2714 | 2708 | | |
2715 | 2709 | | |
2716 | 2710 | | |
2717 | 2711 | | |
2718 | 2712 | | |
2719 | 2713 | | |
2720 | 2714 | | |
2721 | | - | |
2722 | | - | |
2723 | | - | |
2724 | | - | |
2725 | | - | |
2726 | | - | |
2727 | | - | |
2728 | | - | |
2729 | | - | |
2730 | | - | |
2731 | | - | |
2732 | | - | |
2733 | | - | |
2734 | | - | |
2735 | | - | |
2736 | | - | |
2737 | | - | |
2738 | | - | |
2739 | | - | |
2740 | | - | |
2741 | | - | |
2742 | | - | |
2743 | | - | |
2744 | | - | |
2745 | | - | |
2746 | | - | |
2747 | | - | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
2748 | 2718 | | |
2749 | 2719 | | |
2750 | | - | |
2751 | 2720 | | |
2752 | 2721 | | |
2753 | | - | |
| 2722 | + | |
2754 | 2723 | | |
2755 | 2724 | | |
2756 | 2725 | | |
| |||
2763 | 2732 | | |
2764 | 2733 | | |
2765 | 2734 | | |
2766 | | - | |
2767 | | - | |
| 2735 | + | |
2768 | 2736 | | |
2769 | 2737 | | |
2770 | 2738 | | |
| |||
2785 | 2753 | | |
2786 | 2754 | | |
2787 | 2755 | | |
2788 | | - | |
| 2756 | + | |
2789 | 2757 | | |
2790 | 2758 | | |
2791 | 2759 | | |
2792 | 2760 | | |
2793 | 2761 | | |
2794 | | - | |
| 2762 | + | |
2795 | 2763 | | |
2796 | 2764 | | |
2797 | 2765 | | |
| |||
2809 | 2777 | | |
2810 | 2778 | | |
2811 | 2779 | | |
2812 | | - | |
| 2780 | + | |
2813 | 2781 | | |
2814 | 2782 | | |
2815 | 2783 | | |
| |||
2819 | 2787 | | |
2820 | 2788 | | |
2821 | 2789 | | |
2822 | | - | |
| 2790 | + | |
2823 | 2791 | | |
2824 | 2792 | | |
2825 | 2793 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
| 49 | + | |
54 | 50 | | |
55 | 51 | | |
56 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
586 | 586 | | |
587 | 587 | | |
588 | 588 | | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
589 | 595 | | |
590 | 596 | | |
591 | 597 | | |
| |||
7708 | 7714 | | |
7709 | 7715 | | |
7710 | 7716 | | |
7711 | | - | |
| 7717 | + | |
| 7718 | + | |
| 7719 | + | |
| 7720 | + | |
| 7721 | + | |
| 7722 | + | |
| 7723 | + | |
| 7724 | + | |
| 7725 | + | |
| 7726 | + | |
| 7727 | + | |
| 7728 | + | |
| 7729 | + | |
| 7730 | + | |
| 7731 | + | |
| 7732 | + | |
| 7733 | + | |
| 7734 | + | |
| 7735 | + | |
| 7736 | + | |
| 7737 | + | |
| 7738 | + | |
| 7739 | + | |
| 7740 | + | |
7712 | 7741 | | |
7713 | | - | |
| 7742 | + | |
7714 | 7743 | | |
7715 | 7744 | | |
7716 | | - | |
7717 | | - | |
| 7745 | + | |
| 7746 | + | |
7718 | 7747 | | |
7719 | 7748 | | |
7720 | 7749 | | |
7721 | 7750 | | |
7722 | 7751 | | |
7723 | | - | |
| 7752 | + | |
7724 | 7753 | | |
7725 | 7754 | | |
7726 | 7755 | | |
| |||
7734 | 7763 | | |
7735 | 7764 | | |
7736 | 7765 | | |
7737 | | - | |
| 7766 | + | |
7738 | 7767 | | |
7739 | 7768 | | |
7740 | 7769 | | |
| |||
7752 | 7781 | | |
7753 | 7782 | | |
7754 | 7783 | | |
| 7784 | + | |
| 7785 | + | |
| 7786 | + | |
| 7787 | + | |
| 7788 | + | |
| 7789 | + | |
| 7790 | + | |
| 7791 | + | |
| 7792 | + | |
| 7793 | + | |
| 7794 | + | |
| 7795 | + | |
| 7796 | + | |
| 7797 | + | |
| 7798 | + | |
| 7799 | + | |
| 7800 | + | |
| 7801 | + | |
| 7802 | + | |
| 7803 | + | |
| 7804 | + | |
7755 | 7805 | | |
7756 | 7806 | | |
7757 | 7807 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
32 | 30 | | |
33 | 31 | | |
34 | 32 | | |
| |||
529 | 527 | | |
530 | 528 | | |
531 | 529 | | |
532 | | - | |
| 530 | + | |
533 | 531 | | |
534 | 532 | | |
535 | 533 | | |
536 | | - | |
| 534 | + | |
537 | 535 | | |
538 | 536 | | |
539 | 537 | | |
540 | | - | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
546 | | - | |
547 | 538 | | |
548 | 539 | | |
549 | 540 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
168 | | - | |
169 | 168 | | |
170 | | - | |
171 | 169 | | |
| 170 | + | |
| 171 | + | |
172 | 172 | | |
173 | 173 | | |
174 | 174 | | |
| |||
0 commit comments