Commit 7aecd7e
authored
[mlir][Vector] Add
This PR introduces the `vector.to_elements` op, which decomposes a
vector into its scalar elements. This operation is symmetrical to the
existing `vector.from_elements`.
Examples:
```
// Decompose a 0-D vector.
%0 = vector.to_elements %v0 : vector<f32>
// %0 = %v0[0]
// Decompose a 1-D vector.
%0:2 = vector.to_elements %v1 : vector<2xf32>
// %0#0 = %v1[0]
// %0#1 = %v1[1]
// Decompose a 2-D.
%0:6 = vector.to_elements %v2 : vector<2x3xf32>
// %0#0 = %v2[0, 0]
// %0#1 = %v2[0, 1]
// %0#2 = %v2[0, 2]
// %0#3 = %v2[1, 0]
// %0#4 = %v2[1, 1]
// %0#5 = %v2[1, 2]
```
This op is aimed at reducing code size when modeling "structured" vector
extractions and simplifying canonicalizations of large sequences of
`vector.extract` and `vector.insert` ops into `vector.shuffle` and other
sophisticated ops that can re-arrange vector elements.vector.to_elements op (#141457)1 parent b85e929 commit 7aecd7e
File tree
6 files changed
+181
-22
lines changed- mlir
- include/mlir
- Dialect/Vector/IR
- IR
- lib/TableGen
- test/Dialect/Vector
- tools/mlir-tblgen
6 files changed
+181
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
790 | 790 | | |
791 | 791 | | |
792 | 792 | | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
793 | 841 | | |
794 | 842 | | |
795 | | - | |
796 | | - | |
797 | | - | |
798 | | - | |
| 843 | + | |
799 | 844 | | |
800 | 845 | | |
801 | 846 | | |
802 | | - | |
803 | | - | |
804 | | - | |
805 | | - | |
806 | | - | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
807 | 851 | | |
808 | | - | |
| 852 | + | |
809 | 853 | | |
810 | 854 | | |
811 | | - | |
| 855 | + | |
812 | 856 | | |
813 | | - | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
814 | 860 | | |
815 | | - | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
816 | 864 | | |
817 | | - | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
818 | 868 | | |
| 869 | + | |
819 | 870 | | |
820 | | - | |
821 | | - | |
822 | 871 | | |
823 | 872 | | |
824 | 873 | | |
825 | | - | |
826 | | - | |
| 874 | + | |
| 875 | + | |
827 | 876 | | |
828 | 877 | | |
829 | 878 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
556 | 556 | | |
557 | 557 | | |
558 | 558 | | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
559 | 578 | | |
560 | 579 | | |
561 | 580 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
468 | 468 | | |
469 | 469 | | |
470 | 470 | | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
471 | 502 | | |
472 | 503 | | |
473 | 504 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1896 | 1896 | | |
1897 | 1897 | | |
1898 | 1898 | | |
1899 | | - | |
| 1899 | + | |
| 1900 | + | |
| 1901 | + | |
| 1902 | + | |
| 1903 | + | |
| 1904 | + | |
| 1905 | + | |
| 1906 | + | |
| 1907 | + | |
| 1908 | + | |
| 1909 | + | |
| 1910 | + | |
| 1911 | + | |
| 1912 | + | |
| 1913 | + | |
| 1914 | + | |
| 1915 | + | |
| 1916 | + | |
1900 | 1917 | | |
1901 | 1918 | | |
1902 | 1919 | | |
| |||
1905 | 1922 | | |
1906 | 1923 | | |
1907 | 1924 | | |
1908 | | - | |
| 1925 | + | |
1909 | 1926 | | |
1910 | 1927 | | |
1911 | 1928 | | |
1912 | 1929 | | |
1913 | | - | |
1914 | 1930 | | |
1915 | 1931 | | |
1916 | 1932 | | |
1917 | | - | |
| 1933 | + | |
1918 | 1934 | | |
1919 | 1935 | | |
1920 | 1936 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1175 | 1175 | | |
1176 | 1176 | | |
1177 | 1177 | | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
1178 | 1196 | | |
1179 | 1197 | | |
1180 | 1198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2787 | 2787 | | |
2788 | 2788 | | |
2789 | 2789 | | |
| 2790 | + | |
| 2791 | + | |
| 2792 | + | |
| 2793 | + | |
| 2794 | + | |
2790 | 2795 | | |
2791 | 2796 | | |
2792 | 2797 | | |
| |||
2850 | 2855 | | |
2851 | 2856 | | |
2852 | 2857 | | |
| 2858 | + | |
| 2859 | + | |
| 2860 | + | |
2853 | 2861 | | |
2854 | 2862 | | |
2855 | 2863 | | |
| |||
3289 | 3297 | | |
3290 | 3298 | | |
3291 | 3299 | | |
| 3300 | + | |
| 3301 | + | |
| 3302 | + | |
| 3303 | + | |
| 3304 | + | |
| 3305 | + | |
| 3306 | + | |
| 3307 | + | |
| 3308 | + | |
| 3309 | + | |
| 3310 | + | |
| 3311 | + | |
| 3312 | + | |
| 3313 | + | |
| 3314 | + | |
| 3315 | + | |
| 3316 | + | |
| 3317 | + | |
3292 | 3318 | | |
3293 | 3319 | | |
3294 | 3320 | | |
| |||
0 commit comments