Commit bdf3f24
[mlir][NVVM] Add support for barrier0-reduction operation (llvm#167036)
Add support for `nvvm.barrier0.[popc|and|or]` operation. It is added as
a separate operation since `Barrier0Op` has no result.
https://docs.nvidia.com/cuda/nvvm-ir-spec/#barrier-and-memory-fence
This will be used in CUDA Fortran lowering:
https://github.com/llvm/llvm-project/blob/49f55f4991227f3c7a2b8161bbf45c74b7023944/flang/lib/Optimizer/Builder/CUDAIntrinsicCall.cpp#L1081
And could be used later in the CUDA C/C++ with CIR
https://github.com/llvm/llvm-project/blob/49f55f4991227f3c7a2b8161bbf45c74b7023944/clang/lib/Headers/__clang_cuda_device_functions.h#L524
---------
Co-authored-by: Guray Ozen <[email protected]>1 parent b6bcfde commit bdf3f24
File tree
4 files changed
+107
-38
lines changed- mlir
- include/mlir/Dialect/LLVMIR
- lib/Dialect/LLVMIR/IR
- test/Target/LLVMIR
- nvvm
4 files changed
+107
-38
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
921 | 921 | | |
922 | 922 | | |
923 | 923 | | |
| 924 | + | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
924 | 941 | | |
925 | 942 | | |
926 | 943 | | |
| |||
935 | 952 | | |
936 | 953 | | |
937 | 954 | | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
938 | 958 | | |
939 | 959 | | |
940 | 960 | | |
| |||
951 | 971 | | |
952 | 972 | | |
953 | 973 | | |
954 | | - | |
955 | | - | |
956 | | - | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
957 | 983 | | |
958 | | - | |
959 | | - | |
960 | | - | |
961 | | - | |
962 | | - | |
963 | | - | |
964 | | - | |
965 | | - | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
966 | 990 | | |
| 991 | + | |
| 992 | + | |
967 | 993 | | |
968 | 994 | | |
969 | | - | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
970 | 998 | | |
971 | | - | |
972 | | - | |
973 | | - | |
| 999 | + | |
| 1000 | + | |
974 | 1001 | | |
975 | | - | |
976 | | - | |
977 | | - | |
978 | | - | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
979 | 1005 | | |
980 | 1006 | | |
981 | 1007 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1517 | 1517 | | |
1518 | 1518 | | |
1519 | 1519 | | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
1520 | 1529 | | |
1521 | 1530 | | |
1522 | 1531 | | |
| |||
1785 | 1794 | | |
1786 | 1795 | | |
1787 | 1796 | | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
| 1807 | + | |
| 1808 | + | |
| 1809 | + | |
| 1810 | + | |
| 1811 | + | |
| 1812 | + | |
| 1813 | + | |
| 1814 | + | |
| 1815 | + | |
| 1816 | + | |
| 1817 | + | |
| 1818 | + | |
| 1819 | + | |
| 1820 | + | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
| 1827 | + | |
| 1828 | + | |
| 1829 | + | |
1788 | 1830 | | |
1789 | 1831 | | |
1790 | 1832 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | 169 | | |
189 | 170 | | |
190 | 171 | | |
| |||
0 commit comments