Commit c7aea91
committed
[AMDGPU][SDAG] Add ISD::PTRADD DAG combines
This patch focuses on generic DAG combines, plus an AMDGPU-target-specific one
that is closely connected.
The generic DAG combine is based on a part of PR #105669 by @rgwott, which was
adapted from work by @jrtc27, @arichardson, @davidchisnall in the CHERI/Morello
LLVM tree. I added some parts and removed several disjuncts from the
reassociation condition:
- `isNullConstant(X)`, since there are address spaces where 0 is a perfectly
normal value that shouldn't be treated specially,
- `(YIsConstant && ZOneUse)` and `(N0OneUse && ZOneUse && !ZIsConstant)`, since
they cause regressions in AMDGPU.
For SWDEV-516125.1 parent 41ee0e7 commit c7aea91
File tree
4 files changed
+201
-135
lines changed- llvm
- lib
- CodeGen/SelectionDAG
- Target/AMDGPU
- test/CodeGen/AMDGPU
4 files changed
+201
-135
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
419 | 419 | | |
420 | 420 | | |
421 | 421 | | |
| 422 | + | |
422 | 423 | | |
423 | 424 | | |
424 | 425 | | |
| |||
1138 | 1139 | | |
1139 | 1140 | | |
1140 | 1141 | | |
1141 | | - | |
| 1142 | + | |
1142 | 1143 | | |
1143 | 1144 | | |
1144 | 1145 | | |
| |||
1858 | 1859 | | |
1859 | 1860 | | |
1860 | 1861 | | |
| 1862 | + | |
1861 | 1863 | | |
1862 | 1864 | | |
1863 | 1865 | | |
| |||
2628 | 2630 | | |
2629 | 2631 | | |
2630 | 2632 | | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
| 2636 | + | |
| 2637 | + | |
| 2638 | + | |
| 2639 | + | |
| 2640 | + | |
| 2641 | + | |
| 2642 | + | |
| 2643 | + | |
| 2644 | + | |
| 2645 | + | |
| 2646 | + | |
| 2647 | + | |
| 2648 | + | |
| 2649 | + | |
| 2650 | + | |
| 2651 | + | |
| 2652 | + | |
| 2653 | + | |
| 2654 | + | |
| 2655 | + | |
| 2656 | + | |
| 2657 | + | |
| 2658 | + | |
| 2659 | + | |
| 2660 | + | |
| 2661 | + | |
| 2662 | + | |
| 2663 | + | |
| 2664 | + | |
| 2665 | + | |
| 2666 | + | |
| 2667 | + | |
| 2668 | + | |
| 2669 | + | |
| 2670 | + | |
| 2671 | + | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
| 2676 | + | |
| 2677 | + | |
| 2678 | + | |
| 2679 | + | |
| 2680 | + | |
| 2681 | + | |
| 2682 | + | |
| 2683 | + | |
| 2684 | + | |
| 2685 | + | |
| 2686 | + | |
| 2687 | + | |
| 2688 | + | |
| 2689 | + | |
| 2690 | + | |
| 2691 | + | |
| 2692 | + | |
| 2693 | + | |
| 2694 | + | |
| 2695 | + | |
| 2696 | + | |
| 2697 | + | |
| 2698 | + | |
| 2699 | + | |
| 2700 | + | |
| 2701 | + | |
| 2702 | + | |
| 2703 | + | |
| 2704 | + | |
| 2705 | + | |
| 2706 | + | |
| 2707 | + | |
| 2708 | + | |
| 2709 | + | |
| 2710 | + | |
| 2711 | + | |
| 2712 | + | |
| 2713 | + | |
| 2714 | + | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
| 2718 | + | |
| 2719 | + | |
2631 | 2720 | | |
2632 | 2721 | | |
2633 | 2722 | | |
| |||
15026 | 15115 | | |
15027 | 15116 | | |
15028 | 15117 | | |
| 15118 | + | |
15029 | 15119 | | |
15030 | 15120 | | |
15031 | 15121 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
941 | 941 | | |
942 | 942 | | |
943 | 943 | | |
| 944 | + | |
944 | 945 | | |
945 | 946 | | |
946 | 947 | | |
| |||
14944 | 14945 | | |
14945 | 14946 | | |
14946 | 14947 | | |
| 14948 | + | |
| 14949 | + | |
| 14950 | + | |
| 14951 | + | |
| 14952 | + | |
| 14953 | + | |
| 14954 | + | |
| 14955 | + | |
| 14956 | + | |
| 14957 | + | |
| 14958 | + | |
| 14959 | + | |
| 14960 | + | |
| 14961 | + | |
| 14962 | + | |
| 14963 | + | |
| 14964 | + | |
| 14965 | + | |
| 14966 | + | |
| 14967 | + | |
| 14968 | + | |
| 14969 | + | |
| 14970 | + | |
| 14971 | + | |
| 14972 | + | |
| 14973 | + | |
| 14974 | + | |
| 14975 | + | |
| 14976 | + | |
| 14977 | + | |
| 14978 | + | |
| 14979 | + | |
| 14980 | + | |
| 14981 | + | |
| 14982 | + | |
| 14983 | + | |
| 14984 | + | |
| 14985 | + | |
| 14986 | + | |
| 14987 | + | |
| 14988 | + | |
| 14989 | + | |
| 14990 | + | |
| 14991 | + | |
| 14992 | + | |
| 14993 | + | |
14947 | 14994 | | |
14948 | 14995 | | |
14949 | 14996 | | |
| |||
15476 | 15523 | | |
15477 | 15524 | | |
15478 | 15525 | | |
| 15526 | + | |
| 15527 | + | |
15479 | 15528 | | |
15480 | 15529 | | |
15481 | 15530 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
219 | 219 | | |
220 | 220 | | |
221 | 221 | | |
| 222 | + | |
222 | 223 | | |
223 | 224 | | |
224 | 225 | | |
| |||
0 commit comments