@@ -548,43 +548,26 @@ func.func @test_atomic_yield(%I: memref<10xf32>, %idx : index) {
548548 func.return
549549}
550550
551- // CHECK-LABEL: module @return_void_with_unused_argument {
552- // CHECK-LABEL: func.func private @noop() {
553- // CHECK-NEXT: return
554- // CHECK-NEXT: }
555- // CHECK-LABEL: func.func private @fn_return_void_with_unused_argument(%arg0: memref<1x1xsi8, 1>, %arg1: memref<1x1xsi16, 1>) {
556- // CHECK-NEXT: %alloc = memref.alloc() {alignment = 8 : i64} : memref<1x73xsi8, 3>
557- // CHECK-NEXT: %alloc_0 = memref.alloc() {alignment = 8 : i64} : memref<1x1xsi16, 3>
558- // CHECK-NEXT: %alloc_1 = memref.alloc() {alignment = 8 : i64} : memref<1x1xsi8, 3>
559- // CHECK-NEXT: memref.copy %arg0, %alloc_1 : memref<1x1xsi8, 1> to memref<1x1xsi8, 3>
560- // CHECK-NEXT: memref.copy %arg1, %alloc_0 : memref<1x1xsi16, 1> to memref<1x1xsi16, 3>
561- // CHECK-NEXT: call @noop() : () -> ()
562- // CHECK-NEXT: return
563- // CHECK-NEXT: }
564- // CHECK-LABEL: func.func @main(%arg0: memref<1x73xsi8, 1>, %arg1: memref<1x1xsi8, 1>, %arg2: memref<1x1xsi16, 1>) -> memref<1x73xsi8, 1> {
565- // CHECK-NEXT: %alloc = memref.alloc() : memref<1x73xsi8, 1>
566- // CHECK-NEXT: call @fn_return_void_with_unused_argument(%arg1, %arg2) : (memref<1x1xsi8, 1>, memref<1x1xsi16, 1>) -> ()
567- // CHECK-NEXT: return %alloc : memref<1x73xsi8, 1>
568- // CHECK-NEXT: }
569- // CHECK-NEXT:}
551+ // -----
552+
553+ // CHECK-LABEL: module @return_void_with_unused_argument
570554module @return_void_with_unused_argument {
571- func.func private @noop (%arg0: memref <1 x1 xsi8 , 3 >, %arg1: memref <1 x1 xsi16 , 3 >, %arg2: memref <1 x73 xsi8 , 1 >) {
572- return
573- }
574- func.func private @fn_return_void_with_unused_argument (%arg0: memref <1 x73 xsi8 , 1 > , %arg1: memref <1 x1 xsi8 , 1 > , %arg2: memref <1 x1 xsi16 , 1 > , %arg3: memref <1 x73 xsi8 , 1 >) {
575- %alloc = memref.alloc () {alignment = 8 : i64 } : memref <1 x73 xsi8 , 3 >
576- %alloc_0 = memref.alloc () {alignment = 8 : i64 } : memref <1 x1 xsi16 , 3 >
577- %alloc_1 = memref.alloc () {alignment = 8 : i64 } : memref <1 x1 xsi8 , 3 >
578- memref.copy %arg1 , %alloc_1 : memref <1 x1 xsi8 , 1 > to memref <1 x1 xsi8 , 3 >
579- memref.copy %arg2 , %alloc_0 : memref <1 x1 xsi16 , 1 > to memref <1 x1 xsi16 , 3 >
580- call @noop (%alloc_1 , %alloc_0 , %arg0 ) :
581- (memref <1 x1 xsi8 , 3 >, memref <1 x1 xsi16 , 3 >, memref <1 x73 xsi8 , 1 >) -> ()
555+ // CHECK-LABEL: func.func private @fn_return_void_with_unused_argument
556+ // CHECK-SAME: (%[[ARG0_FN:.*]]: i32)
557+ func.func private @fn_return_void_with_unused_argument (%arg0: i32 , %arg1: memref <4 xi32 >) -> () {
558+ %sum = arith.addi %arg0 , %arg0 : i32
559+ %c0 = arith.constant 0 : index
560+ %buf = memref.alloc () : memref <1 xi32 >
561+ memref.store %sum , %buf [%c0 ] : memref <1 xi32 >
582562 return
583563 }
584- func.func @main (%arg0: memref <1 x73 xsi8 , 1 > , %arg1: memref <1 x1 xsi8 , 1 > , %arg2: memref <1 x1 xsi16 , 1 >) -> (memref <1 x73 xsi8 , 1 > ) {
585- %alloc = memref.alloc () : memref <1 x73 xsi8 , 1 >
586- call @fn_return_void_with_unused_argument (%arg0 , %arg1 , %arg2 , %alloc ) : (memref <1 x73 xsi8 , 1 >, memref <1 x1 xsi8 , 1 >, memref <1 x1 xsi16 , 1 >, memref <1 x73 xsi8 , 1 >) -> ()
587- return %alloc : memref <1 x73 xsi8 , 1 >
564+ // CHECK-LABEL: func.func @main
565+ // CHECK-SAME: (%[[ARG0_MAIN:.*]]: i32)
566+ // CHECK: call @fn_return_void_with_unused_argument(%[[ARG0_MAIN]]) : (i32) -> ()
567+ func.func @main (%arg0: i32 ) -> memref <4 xi32 > {
568+ %unused = memref.alloc () : memref <4 xi32 >
569+ call @fn_return_void_with_unused_argument (%arg0 , %unused ) : (i32 , memref <4 xi32 >) -> ()
570+ return %unused : memref <4 xi32 >
588571 }
589572}
590573
0 commit comments