@@ -739,6 +739,8 @@ func.func @scopeMerge() {
739
739
// CHECK: "test.use"(%[[alloc]]) : (memref<?xi64>) -> ()
740
740
// CHECK: return
741
741
742
+ // -----
743
+
742
744
func.func @scopeMerge2 () {
743
745
" test.region" () ({
744
746
memref.alloca_scope {
@@ -763,6 +765,8 @@ func.func @scopeMerge2() {
763
765
// CHECK: return
764
766
// CHECK: }
765
767
768
+ // -----
769
+
766
770
func.func @scopeMerge3 () {
767
771
%cnt = " test.count" () : () -> index
768
772
" test.region" () ({
@@ -787,6 +791,8 @@ func.func @scopeMerge3() {
787
791
// CHECK: return
788
792
// CHECK: }
789
793
794
+ // -----
795
+
790
796
func.func @scopeMerge4 () {
791
797
%cnt = " test.count" () : () -> index
792
798
" test.region" () ({
@@ -813,6 +819,8 @@ func.func @scopeMerge4() {
813
819
// CHECK: return
814
820
// CHECK: }
815
821
822
+ // -----
823
+
816
824
func.func @scopeMerge5 () {
817
825
" test.region" () ({
818
826
memref.alloca_scope {
@@ -839,6 +847,8 @@ func.func @scopeMerge5() {
839
847
// CHECK: return
840
848
// CHECK: }
841
849
850
+ // -----
851
+
842
852
func.func @scopeInline (%arg : memref <index >) {
843
853
%cnt = " test.count" () : () -> index
844
854
" test.region" () ({
@@ -855,6 +865,31 @@ func.func @scopeInline(%arg : memref<index>) {
855
865
856
866
// -----
857
867
868
+ // Ensure this case not crash.
869
+
870
+ // CHECK-LABEL: func.func @scope_merge_without_terminator() {
871
+ // CHECK: "test.region"() ({
872
+ // CHECK: memref.alloca_scope {
873
+ // CHECK: %[[cnt:.*]] = "test.count"() : () -> index
874
+ // CHECK: %[[alloc:.*]] = memref.alloca(%[[cnt]]) : memref<?xi64>
875
+ // CHECK: "test.use"(%[[alloc]]) : (memref<?xi64>) -> ()
876
+ // CHECK: }
877
+ // CHECK: }) : () -> ()
878
+ // CHECK: return
879
+ // CHECK: }
880
+ func.func @scope_merge_without_terminator () {
881
+ " test.region" () ({
882
+ memref.alloca_scope {
883
+ %cnt = " test.count" () : () -> index
884
+ %a = memref.alloca (%cnt ) : memref <?xi64 >
885
+ " test.use" (%a ) : (memref <?xi64 >) -> ()
886
+ }
887
+ }) : () -> ()
888
+ return
889
+ }
890
+
891
+ // -----
892
+
858
893
// CHECK-LABEL: func @reinterpret_noop
859
894
// CHECK-SAME: (%[[ARG:.*]]: memref<2x3x4xf32>)
860
895
// CHECK-NEXT: return %[[ARG]]
0 commit comments