Commit 38a44bd
authored
[CodeGenPrepare] Reverse the canonicalization of isInf/isNanOrInf (llvm#81572)
In commit
llvm@2b58244,
we canonicalize the isInf/isNanOrInf idiom into fabs+fcmp for better
analysis/codegen (See also the discussion in
llvm#76338).
This patch reverses the fabs+fcmp to `is.fpclass`. If the `is.fpclass`
is not supported by the target, it will be expanded by TLI.
Fixes the regression introduced by
llvm@2b58244
and
llvm#80414 (comment).1 parent f362e12 commit 38a44bd
File tree
8 files changed
+642
-202
lines changed- llvm
- lib/CodeGen
- test
- CodeGen
- AArch64
- AMDGPU
- PowerPC
- Transforms/CodeGenPrepare
- AArch64
- RISCV
- X86
8 files changed
+642
-202
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1943 | 1943 | | |
1944 | 1944 | | |
1945 | 1945 | | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
1946 | 1979 | | |
1947 | 1980 | | |
1948 | 1981 | | |
| |||
1959 | 1992 | | |
1960 | 1993 | | |
1961 | 1994 | | |
| 1995 | + | |
| 1996 | + | |
| 1997 | + | |
1962 | 1998 | | |
1963 | 1999 | | |
1964 | 2000 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
75 | 68 | | |
76 | | - | |
77 | 69 | | |
78 | 70 | | |
79 | 71 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
621 | | - | |
622 | | - | |
623 | | - | |
624 | | - | |
625 | | - | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
626 | 625 | | |
627 | | - | |
628 | | - | |
629 | | - | |
630 | | - | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
631 | 631 | | |
632 | 632 | | |
633 | 633 | | |
| |||
667 | 667 | | |
668 | 668 | | |
669 | 669 | | |
670 | | - | |
671 | | - | |
672 | | - | |
673 | | - | |
674 | | - | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
675 | 674 | | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
680 | 683 | | |
681 | 684 | | |
682 | 685 | | |
| |||
718 | 721 | | |
719 | 722 | | |
720 | 723 | | |
721 | | - | |
722 | | - | |
723 | | - | |
724 | | - | |
725 | | - | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
726 | 728 | | |
727 | | - | |
728 | | - | |
729 | | - | |
730 | | - | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
731 | 737 | | |
732 | 738 | | |
733 | 739 | | |
| |||
0 commit comments