|
775 | 775 | ;; CHECK-NEXT: (block (result i32) |
776 | 776 | ;; CHECK-NEXT: (block $__return_call |
777 | 777 | ;; CHECK-NEXT: (block |
778 | | - ;; CHECK-NEXT: (br $__return_call) |
| 778 | + ;; CHECK-NEXT: (block |
| 779 | + ;; CHECK-NEXT: (br $__return_call) |
| 780 | + ;; CHECK-NEXT: ) |
779 | 781 | ;; CHECK-NEXT: ) |
780 | 782 | ;; CHECK-NEXT: ) |
781 | 783 | ;; CHECK-NEXT: (block (result i32) |
|
800 | 802 | (i32.const 42) |
801 | 803 | ) |
802 | 804 | ) |
| 805 | + |
803 | 806 | (module |
804 | 807 | ;; CHECK: (type $0 (func)) |
805 | 808 |
|
806 | 809 | ;; CHECK: (func $0 |
807 | 810 | ;; CHECK-NEXT: (local $0 i32) |
808 | | - ;; CHECK-NEXT: (local $1 i32) |
809 | 811 | ;; CHECK-NEXT: (block $__inlined_func$1 |
810 | 812 | ;; CHECK-NEXT: (block |
811 | 813 | ;; CHECK-NEXT: (block $__return_call |
812 | 814 | ;; CHECK-NEXT: (block |
| 815 | + ;; CHECK-NEXT: (br $__return_call) |
| 816 | + ;; CHECK-NEXT: ) |
| 817 | + ;; CHECK-NEXT: (br $__inlined_func$1) |
| 818 | + ;; CHECK-NEXT: ) |
| 819 | + ;; CHECK-NEXT: (block |
| 820 | + ;; CHECK-NEXT: (block $__inlined_func$2$1 |
813 | 821 | ;; CHECK-NEXT: (local.set $0 |
814 | 822 | ;; CHECK-NEXT: (i32.const 42) |
815 | 823 | ;; CHECK-NEXT: ) |
| 824 | + ;; CHECK-NEXT: (drop |
| 825 | + ;; CHECK-NEXT: (local.get $0) |
| 826 | + ;; CHECK-NEXT: ) |
| 827 | + ;; CHECK-NEXT: ) |
| 828 | + ;; CHECK-NEXT: ) |
| 829 | + ;; CHECK-NEXT: ) |
| 830 | + ;; CHECK-NEXT: ) |
| 831 | + ;; CHECK-NEXT: ) |
| 832 | + (func $0 |
| 833 | + (call $1) |
| 834 | + ) |
| 835 | + (func $1 |
| 836 | + (return_call $2 |
| 837 | + (i32.const 42) |
| 838 | + ) |
| 839 | + ) |
| 840 | + (func $2 (param i32) |
| 841 | + (drop |
| 842 | + (local.get 0) |
| 843 | + ) |
| 844 | + ) |
| 845 | +) |
| 846 | + |
| 847 | +(module |
| 848 | + ;; Same as above, but with nontrivial effects in the children. |
| 849 | + ;; CHECK: (type $0 (func)) |
| 850 | + |
| 851 | + ;; CHECK: (type $1 (func (param i32))) |
| 852 | + |
| 853 | + ;; CHECK: (func $0 |
| 854 | + ;; CHECK-NEXT: (block $__inlined_func$1 |
| 855 | + ;; CHECK-NEXT: (block |
| 856 | + ;; CHECK-NEXT: (block $__return_call |
| 857 | + ;; CHECK-NEXT: (br $__inlined_func$1) |
| 858 | + ;; CHECK-NEXT: (br $__return_call) |
| 859 | + ;; CHECK-NEXT: (br $__inlined_func$1) |
| 860 | + ;; CHECK-NEXT: ) |
| 861 | + ;; CHECK-NEXT: (call $2 |
| 862 | + ;; CHECK-NEXT: (unreachable) |
| 863 | + ;; CHECK-NEXT: ) |
| 864 | + ;; CHECK-NEXT: ) |
| 865 | + ;; CHECK-NEXT: ) |
| 866 | + ;; CHECK-NEXT: ) |
| 867 | + (func $0 |
| 868 | + (call $1) |
| 869 | + ) |
| 870 | + (func $1 |
| 871 | + (return_call $2 |
| 872 | + (return) |
| 873 | + ) |
| 874 | + ) |
| 875 | + ;; CHECK: (func $2 (param $0 i32) |
| 876 | + ;; CHECK-NEXT: (drop |
| 877 | + ;; CHECK-NEXT: (local.get $0) |
| 878 | + ;; CHECK-NEXT: ) |
| 879 | + ;; CHECK-NEXT: ) |
| 880 | + (func $2 (param i32) |
| 881 | + (drop |
| 882 | + (local.get 0) |
| 883 | + ) |
| 884 | + ) |
| 885 | +) |
| 886 | + |
| 887 | +(module |
| 888 | + ;; Same as above, but this time the child is not unreachable. |
| 889 | + ;; CHECK: (type $0 (func)) |
| 890 | + |
| 891 | + ;; CHECK: (func $0 |
| 892 | + ;; CHECK-NEXT: (local $0 i32) |
| 893 | + ;; CHECK-NEXT: (local $1 i32) |
| 894 | + ;; CHECK-NEXT: (block $__inlined_func$1 |
| 895 | + ;; CHECK-NEXT: (block |
| 896 | + ;; CHECK-NEXT: (block $__return_call |
| 897 | + ;; CHECK-NEXT: (block |
| 898 | + ;; CHECK-NEXT: (local.tee $0 |
| 899 | + ;; CHECK-NEXT: (block |
| 900 | + ;; CHECK-NEXT: (br $__inlined_func$1) |
| 901 | + ;; CHECK-NEXT: ) |
| 902 | + ;; CHECK-NEXT: ) |
816 | 903 | ;; CHECK-NEXT: (br $__return_call) |
817 | 904 | ;; CHECK-NEXT: ) |
818 | 905 | ;; CHECK-NEXT: (br $__inlined_func$1) |
|
835 | 922 | ) |
836 | 923 | (func $1 |
837 | 924 | (return_call $2 |
838 | | - (i32.const 42) |
| 925 | + (block (result i32) |
| 926 | + (return) |
| 927 | + ) |
839 | 928 | ) |
840 | 929 | ) |
841 | 930 | (func $2 (param i32) |
|
844 | 933 | ) |
845 | 934 | ) |
846 | 935 | ) |
| 936 | + |
847 | 937 | (module |
848 | 938 | ;; CHECK: (type $0 (func)) |
849 | 939 |
|
|
853 | 943 | ;; CHECK: (table $0 10 funcref) |
854 | 944 |
|
855 | 945 | ;; CHECK: (func $0 |
856 | | - ;; CHECK-NEXT: (local $0 i32) |
857 | | - ;; CHECK-NEXT: (local $1 i32) |
858 | 946 | ;; CHECK-NEXT: (drop |
859 | 947 | ;; CHECK-NEXT: (block (result i32) |
860 | 948 | ;; CHECK-NEXT: (block $__inlined_func$1 (result i32) |
861 | 949 | ;; CHECK-NEXT: (block (result i32) |
862 | 950 | ;; CHECK-NEXT: (block $__return_call |
863 | 951 | ;; CHECK-NEXT: (block |
864 | | - ;; CHECK-NEXT: (local.set $0 |
865 | | - ;; CHECK-NEXT: (i32.const 42) |
866 | | - ;; CHECK-NEXT: ) |
867 | | - ;; CHECK-NEXT: (local.set $1 |
868 | | - ;; CHECK-NEXT: (i32.const 0) |
869 | | - ;; CHECK-NEXT: ) |
870 | 952 | ;; CHECK-NEXT: (br $__return_call) |
871 | 953 | ;; CHECK-NEXT: ) |
872 | 954 | ;; CHECK-NEXT: ) |
873 | 955 | ;; CHECK-NEXT: (call_indirect (type $T) |
874 | | - ;; CHECK-NEXT: (local.get $0) |
875 | | - ;; CHECK-NEXT: (local.get $1) |
| 956 | + ;; CHECK-NEXT: (i32.const 42) |
| 957 | + ;; CHECK-NEXT: (i32.const 0) |
876 | 958 | ;; CHECK-NEXT: ) |
877 | 959 | ;; CHECK-NEXT: ) |
878 | 960 | ;; CHECK-NEXT: ) |
|
900 | 982 | ;; CHECK: (table $0 10 funcref) |
901 | 983 |
|
902 | 984 | ;; CHECK: (func $0 |
903 | | - ;; CHECK-NEXT: (local $0 i32) |
904 | | - ;; CHECK-NEXT: (local $1 i32) |
905 | 985 | ;; CHECK-NEXT: (block $__inlined_func$1 |
906 | 986 | ;; CHECK-NEXT: (block |
907 | 987 | ;; CHECK-NEXT: (block $__return_call |
908 | | - ;; CHECK-NEXT: (local.set $0 |
909 | | - ;; CHECK-NEXT: (i32.const 42) |
910 | | - ;; CHECK-NEXT: ) |
911 | | - ;; CHECK-NEXT: (local.set $1 |
912 | | - ;; CHECK-NEXT: (i32.const 0) |
913 | | - ;; CHECK-NEXT: ) |
914 | 988 | ;; CHECK-NEXT: (br $__return_call) |
915 | 989 | ;; CHECK-NEXT: (br $__inlined_func$1) |
916 | 990 | ;; CHECK-NEXT: ) |
917 | 991 | ;; CHECK-NEXT: (call_indirect (type $T) |
918 | | - ;; CHECK-NEXT: (local.get $0) |
919 | | - ;; CHECK-NEXT: (local.get $1) |
| 992 | + ;; CHECK-NEXT: (i32.const 42) |
| 993 | + ;; CHECK-NEXT: (i32.const 0) |
920 | 994 | ;; CHECK-NEXT: ) |
921 | 995 | ;; CHECK-NEXT: ) |
922 | 996 | ;; CHECK-NEXT: ) |
|
0 commit comments