Commit 84869dd
committed
Reland "[ARM] Stop gluing FP comparisons to FMSTAT"
[ARM] Stop gluing FP comparisons to FMSTAT (#116676)
Following #116547, this changes the result of `ARMISD::CMPFP*` and the
operand of `ARMISD::FMSTAT` from a special `Glue` type to a normal type.
This change allows comparisons to be CSEd and scheduled around as can be
seen in the test changes.
Note that `ARMISD::FMSTAT` is still glued to its consumer nodes; this is
going to be changed in a separate patch.
This patch also sets `CopyCost` of `cl_FPSCR_NZCV` register class to a
negative value. The reason is the same as for CCR register class: it
makes DAG scheduler and InstrEmitter try to avoid copies of `FPCSR_NZCV`
register to / from virtual registers. Previously, this was not
necessary, since no attempt was made to create copies in the first
place.
`TRI::getCrossCopyRegClass` is modified in a way that prevents DAG
scheduler from copying FPSCR into a virtual register. The register
allocator might need to spill the virtual register, but that only seem
to work in Thumb mode.1 parent 98330eb commit 84869dd
File tree
17 files changed
+2901
-4818
lines changed- llvm
- lib/Target/ARM
- test/CodeGen
- ARM
- Thumb2
17 files changed
+2901
-4818
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4971 | 4971 | | |
4972 | 4972 | | |
4973 | 4973 | | |
4974 | | - | |
| 4974 | + | |
4975 | 4975 | | |
4976 | | - | |
4977 | | - | |
| 4976 | + | |
| 4977 | + | |
4978 | 4978 | | |
4979 | | - | |
4980 | | - | |
4981 | | - | |
| 4979 | + | |
| 4980 | + | |
| 4981 | + | |
4982 | 4982 | | |
4983 | 4983 | | |
4984 | 4984 | | |
| |||
4991 | 4991 | | |
4992 | 4992 | | |
4993 | 4993 | | |
4994 | | - | |
4995 | | - | |
4996 | | - | |
4997 | | - | |
4998 | | - | |
4999 | | - | |
5000 | | - | |
5001 | | - | |
5002 | | - | |
| 4994 | + | |
| 4995 | + | |
| 4996 | + | |
| 4997 | + | |
| 4998 | + | |
5003 | 4999 | | |
5004 | 5000 | | |
5005 | 5001 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
14 | 24 | | |
15 | 25 | | |
16 | 26 | | |
17 | 27 | | |
18 | 28 | | |
19 | 29 | | |
20 | 30 | | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
26 | 43 | | |
27 | 44 | | |
28 | 45 | | |
| |||
606 | 623 | | |
607 | 624 | | |
608 | 625 | | |
609 | | - | |
| 626 | + | |
610 | 627 | | |
611 | 628 | | |
612 | 629 | | |
613 | 630 | | |
614 | | - | |
| 631 | + | |
615 | 632 | | |
616 | 633 | | |
617 | 634 | | |
| |||
620 | 637 | | |
621 | 638 | | |
622 | 639 | | |
623 | | - | |
| 640 | + | |
624 | 641 | | |
625 | 642 | | |
626 | 643 | | |
627 | 644 | | |
628 | | - | |
| 645 | + | |
629 | 646 | | |
630 | 647 | | |
631 | 648 | | |
632 | 649 | | |
633 | | - | |
| 650 | + | |
634 | 651 | | |
635 | 652 | | |
636 | 653 | | |
| |||
639 | 656 | | |
640 | 657 | | |
641 | 658 | | |
642 | | - | |
| 659 | + | |
643 | 660 | | |
644 | 661 | | |
645 | 662 | | |
| |||
669 | 686 | | |
670 | 687 | | |
671 | 688 | | |
672 | | - | |
| 689 | + | |
673 | 690 | | |
674 | 691 | | |
675 | 692 | | |
676 | 693 | | |
677 | 694 | | |
678 | 695 | | |
679 | 696 | | |
680 | | - | |
| 697 | + | |
681 | 698 | | |
682 | 699 | | |
683 | 700 | | |
| |||
689 | 706 | | |
690 | 707 | | |
691 | 708 | | |
692 | | - | |
| 709 | + | |
693 | 710 | | |
694 | 711 | | |
695 | 712 | | |
696 | 713 | | |
697 | 714 | | |
698 | 715 | | |
699 | 716 | | |
700 | | - | |
| 717 | + | |
701 | 718 | | |
702 | 719 | | |
703 | 720 | | |
704 | 721 | | |
705 | 722 | | |
706 | 723 | | |
707 | 724 | | |
708 | | - | |
| 725 | + | |
709 | 726 | | |
710 | 727 | | |
711 | 728 | | |
| |||
717 | 734 | | |
718 | 735 | | |
719 | 736 | | |
720 | | - | |
| 737 | + | |
721 | 738 | | |
722 | 739 | | |
723 | 740 | | |
| |||
2492 | 2509 | | |
2493 | 2510 | | |
2494 | 2511 | | |
2495 | | - | |
| 2512 | + | |
| 2513 | + | |
2496 | 2514 | | |
2497 | 2515 | | |
2498 | 2516 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
413 | 413 | | |
414 | 414 | | |
415 | 415 | | |
416 | | - | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
417 | 419 | | |
418 | 420 | | |
419 | 421 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
700 | 700 | | |
701 | 701 | | |
702 | 702 | | |
703 | | - | |
704 | | - | |
705 | | - | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
706 | 706 | | |
707 | 707 | | |
708 | 708 | | |
| |||
728 | 728 | | |
729 | 729 | | |
730 | 730 | | |
731 | | - | |
732 | | - | |
733 | | - | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
734 | 734 | | |
735 | 735 | | |
736 | 736 | | |
| |||
751 | 751 | | |
752 | 752 | | |
753 | 753 | | |
754 | | - | |
755 | | - | |
756 | | - | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
757 | 757 | | |
758 | 758 | | |
759 | 759 | | |
| |||
774 | 774 | | |
775 | 775 | | |
776 | 776 | | |
777 | | - | |
778 | | - | |
779 | | - | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
780 | 780 | | |
781 | 781 | | |
782 | 782 | | |
| |||
797 | 797 | | |
798 | 798 | | |
799 | 799 | | |
800 | | - | |
801 | | - | |
802 | | - | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
803 | 803 | | |
804 | 804 | | |
805 | 805 | | |
| |||
821 | 821 | | |
822 | 822 | | |
823 | 823 | | |
824 | | - | |
825 | | - | |
826 | | - | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
827 | 827 | | |
828 | 828 | | |
829 | 829 | | |
| |||
844 | 844 | | |
845 | 845 | | |
846 | 846 | | |
847 | | - | |
848 | | - | |
849 | | - | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
850 | 850 | | |
851 | 851 | | |
852 | 852 | | |
| |||
867 | 867 | | |
868 | 868 | | |
869 | 869 | | |
870 | | - | |
871 | | - | |
872 | | - | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
873 | 873 | | |
874 | 874 | | |
875 | 875 | | |
| |||
890 | 890 | | |
891 | 891 | | |
892 | 892 | | |
893 | | - | |
894 | | - | |
895 | | - | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
896 | 896 | | |
897 | 897 | | |
898 | 898 | | |
| |||
923 | 923 | | |
924 | 924 | | |
925 | 925 | | |
| 926 | + | |
926 | 927 | | |
| 928 | + | |
927 | 929 | | |
928 | | - | |
929 | | - | |
930 | 930 | | |
931 | 931 | | |
932 | 932 | | |
| |||
0 commit comments