From f717faf6ed4cf56e2222b0f7f82c59ae47e6d21c Mon Sep 17 00:00:00 2001 From: Hui Zhou Date: Fri, 28 Jun 2024 09:19:19 -0500 Subject: [PATCH] coll: add missing fn_fail --- .../alltoall_inter_pairwise_exchange.c | 3 +++ ...alltoall_intra_pairwise_sendrecv_replace.c | 3 +++ .../alltoallv_inter_pairwise_exchange.c | 3 +++ ...lltoallv_intra_pairwise_sendrecv_replace.c | 4 ++++ .../alltoallw_inter_pairwise_exchange.c | 4 ++++ ...lltoallw_intra_pairwise_sendrecv_replace.c | 3 +++ .../barrier/barrier_intra_k_dissemination.c | 3 +++ src/mpi/coll/barrier/barrier_intra_smp.c | 3 +++ .../bcast_inter_remote_send_local_bcast.c | 3 +++ src/mpi/coll/bcast/bcast_intra_smp.c | 3 +-- src/mpi/coll/bcast/bcast_utils.c | 3 +++ src/mpi/coll/gather/gather_inter_linear.c | 3 +++ .../gather_inter_local_gather_remote_send.c | 3 +-- .../coll/iallgather/iallgather_tsp_recexch.c | 15 +++++++++--- .../iallgatherv/iallgatherv_tsp_recexch.c | 16 +++++++++---- ...iallreduce_tsp_recursive_exchange_common.c | 4 ++++ src/mpi/coll/ialltoall/ialltoall_tsp_brucks.c | 23 +++++++++++-------- .../ireduce_scatter_tsp_recexch.c | 4 +++- src/mpi/coll/scatter/scatter_inter_linear.c | 5 +++- .../scatter_inter_remote_send_local_scatter.c | 3 +-- .../release_gather/nb_bcast_release_gather.h | 8 +++---- .../shm/posix/release_gather/release_gather.c | 2 ++ src/mpid/ch4/src/ch4_coll_impl.h | 19 +++++++++++++++ 23 files changed, 112 insertions(+), 28 deletions(-) diff --git a/src/mpi/coll/alltoall/alltoall_inter_pairwise_exchange.c b/src/mpi/coll/alltoall/alltoall_inter_pairwise_exchange.c index b21fc84bc19..e7908221859 100644 --- a/src/mpi/coll/alltoall/alltoall_inter_pairwise_exchange.c +++ b/src/mpi/coll/alltoall/alltoall_inter_pairwise_exchange.c @@ -59,5 +59,8 @@ int MPIR_Alltoall_inter_pairwise_exchange(const void *sendbuf, MPI_Aint sendcoun MPIR_ERR_CHECK(mpi_errno); } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/alltoall/alltoall_intra_pairwise_sendrecv_replace.c b/src/mpi/coll/alltoall/alltoall_intra_pairwise_sendrecv_replace.c index 5b21bd9aabb..f4216ad4f86 100644 --- a/src/mpi/coll/alltoall/alltoall_intra_pairwise_sendrecv_replace.c +++ b/src/mpi/coll/alltoall/alltoall_intra_pairwise_sendrecv_replace.c @@ -67,5 +67,8 @@ int MPIR_Alltoall_intra_pairwise_sendrecv_replace(const void *sendbuf, } } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/alltoallv/alltoallv_inter_pairwise_exchange.c b/src/mpi/coll/alltoallv/alltoallv_inter_pairwise_exchange.c index 1c70998ee62..b98f25041fd 100644 --- a/src/mpi/coll/alltoallv/alltoallv_inter_pairwise_exchange.c +++ b/src/mpi/coll/alltoallv/alltoallv_inter_pairwise_exchange.c @@ -69,5 +69,8 @@ int MPIR_Alltoallv_inter_pairwise_exchange(const void *sendbuf, const MPI_Aint * MPIR_ERR_CHECK(mpi_errno); } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/alltoallv/alltoallv_intra_pairwise_sendrecv_replace.c b/src/mpi/coll/alltoallv/alltoallv_intra_pairwise_sendrecv_replace.c index 0fed0da9e97..319d1c41f38 100644 --- a/src/mpi/coll/alltoallv/alltoallv_intra_pairwise_sendrecv_replace.c +++ b/src/mpi/coll/alltoallv/alltoallv_intra_pairwise_sendrecv_replace.c @@ -71,5 +71,9 @@ int MPIR_Alltoallv_intra_pairwise_sendrecv_replace(const void *sendbuf, const MP } } + fn_exit: + MPIR_FUNC_EXIT; return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/alltoallw/alltoallw_inter_pairwise_exchange.c b/src/mpi/coll/alltoallw/alltoallw_inter_pairwise_exchange.c index f7fd35ce24c..676d4f79b25 100644 --- a/src/mpi/coll/alltoallw/alltoallw_inter_pairwise_exchange.c +++ b/src/mpi/coll/alltoallw/alltoallw_inter_pairwise_exchange.c @@ -68,5 +68,9 @@ int MPIR_Alltoallw_inter_pairwise_exchange(const void *sendbuf, const MPI_Aint s recvcount, recvtype, src, MPIR_ALLTOALLW_TAG, comm_ptr, &status); MPIR_ERR_CHECK(mpi_errno); } + + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/alltoallw/alltoallw_intra_pairwise_sendrecv_replace.c b/src/mpi/coll/alltoallw/alltoallw_intra_pairwise_sendrecv_replace.c index 5d50818e956..bb094851a67 100644 --- a/src/mpi/coll/alltoallw/alltoallw_intra_pairwise_sendrecv_replace.c +++ b/src/mpi/coll/alltoallw/alltoallw_intra_pairwise_sendrecv_replace.c @@ -67,5 +67,8 @@ int MPIR_Alltoallw_intra_pairwise_sendrecv_replace(const void *sendbuf, const MP } } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/barrier/barrier_intra_k_dissemination.c b/src/mpi/coll/barrier/barrier_intra_k_dissemination.c index dba89eb2bce..fe58fbca4b0 100644 --- a/src/mpi/coll/barrier/barrier_intra_k_dissemination.c +++ b/src/mpi/coll/barrier/barrier_intra_k_dissemination.c @@ -33,7 +33,10 @@ int MPIR_Barrier_intra_dissemination(MPIR_Comm * comm_ptr) mask <<= 1; } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } /* Algorithm: high radix dissemination diff --git a/src/mpi/coll/barrier/barrier_intra_smp.c b/src/mpi/coll/barrier/barrier_intra_smp.c index cc82371a8bc..c93d6374315 100644 --- a/src/mpi/coll/barrier/barrier_intra_smp.c +++ b/src/mpi/coll/barrier/barrier_intra_smp.c @@ -32,5 +32,8 @@ int MPIR_Barrier_intra_smp(MPIR_Comm * comm_ptr) MPIR_ERR_CHECK(mpi_errno); } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/bcast/bcast_inter_remote_send_local_bcast.c b/src/mpi/coll/bcast/bcast_inter_remote_send_local_bcast.c index f208485f6f9..104edc29983 100644 --- a/src/mpi/coll/bcast/bcast_inter_remote_send_local_bcast.c +++ b/src/mpi/coll/bcast/bcast_inter_remote_send_local_bcast.c @@ -53,6 +53,9 @@ int MPIR_Bcast_inter_remote_send_local_bcast(void *buffer, MPIR_ERR_CHECK(mpi_errno); } + fn_exit: MPIR_FUNC_EXIT; return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/bcast/bcast_intra_smp.c b/src/mpi/coll/bcast/bcast_intra_smp.c index 8975807566d..57e1f0a68fc 100644 --- a/src/mpi/coll/bcast/bcast_intra_smp.c +++ b/src/mpi/coll/bcast/bcast_intra_smp.c @@ -110,8 +110,7 @@ int MPIR_Bcast_intra_smp(void *buffer, MPI_Aint count, MPI_Datatype datatype, in * algorithm that (at least approximately) minimized internode * communication. */ mpi_errno = - MPIR_Bcast_intra_scatter_ring_allgather(buffer, count, datatype, root, comm_ptr, - errflag); + MPIR_Bcast_intra_scatter_ring_allgather(buffer, count, datatype, root, comm_ptr); MPIR_ERR_CHECK(mpi_errno); } } diff --git a/src/mpi/coll/bcast/bcast_utils.c b/src/mpi/coll/bcast/bcast_utils.c index da3ba472aa3..fe67f063fb3 100644 --- a/src/mpi/coll/bcast/bcast_utils.c +++ b/src/mpi/coll/bcast/bcast_utils.c @@ -104,5 +104,8 @@ int MPII_Scatter_for_bcast(void *buffer ATTRIBUTE((unused)), mask >>= 1; } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/gather/gather_inter_linear.c b/src/mpi/coll/gather/gather_inter_linear.c index 0520f64655f..ffc057f677c 100644 --- a/src/mpi/coll/gather/gather_inter_linear.c +++ b/src/mpi/coll/gather/gather_inter_linear.c @@ -43,5 +43,8 @@ int MPIR_Gather_inter_linear(const void *sendbuf, MPI_Aint sendcount, MPI_Dataty MPIR_ERR_CHECK(mpi_errno); } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/gather/gather_inter_local_gather_remote_send.c b/src/mpi/coll/gather/gather_inter_local_gather_remote_send.c index 3f7f081775b..2639fec5e33 100644 --- a/src/mpi/coll/gather/gather_inter_local_gather_remote_send.c +++ b/src/mpi/coll/gather/gather_inter_local_gather_remote_send.c @@ -66,8 +66,7 @@ int MPIR_Gather_inter_local_gather_remote_send(const void *sendbuf, MPI_Aint sen /* now do the a local gather on this intracommunicator */ mpi_errno = MPIR_Gather(sendbuf, sendcount, sendtype, - tmp_buf, sendcount * sendtype_sz, MPI_BYTE, 0, newcomm_ptr, - errflag); + tmp_buf, sendcount * sendtype_sz, MPI_BYTE, 0, newcomm_ptr); MPIR_ERR_CHECK(mpi_errno); if (rank == 0) { diff --git a/src/mpi/coll/iallgather/iallgather_tsp_recexch.c b/src/mpi/coll/iallgather/iallgather_tsp_recexch.c index 675cc729644..9d998d3eaf7 100644 --- a/src/mpi/coll/iallgather/iallgather_tsp_recexch.c +++ b/src/mpi/coll/iallgather/iallgather_tsp_recexch.c @@ -49,9 +49,11 @@ static int MPIR_TSP_Iallgather_sched_intra_recexch_data_exchange(int rank, int n MPIR_ERR_CHECK(mpi_errno); } + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } @@ -91,8 +93,11 @@ static int MPIR_TSP_Iallgather_sched_intra_recexch_step1(int step1_sendto, int * } } + fn_exit: MPIR_FUNC_EXIT; return mpi_errno; + fn_fail: + goto fn_exit; } @@ -169,9 +174,11 @@ static int MPIR_TSP_Iallgather_sched_intra_recexch_step2(int step1_sendto, int s *nrecvs_ = nrecvs; + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } @@ -201,9 +208,11 @@ static int MPIR_TSP_Iallgather_sched_intra_recexch_step3(int step1_sendto, int * MPIR_ERR_CHECK(mpi_errno); } + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/iallgatherv/iallgatherv_tsp_recexch.c b/src/mpi/coll/iallgatherv/iallgatherv_tsp_recexch.c index 44089d63df7..d73651c3a78 100644 --- a/src/mpi/coll/iallgatherv/iallgatherv_tsp_recexch.c +++ b/src/mpi/coll/iallgatherv/iallgatherv_tsp_recexch.c @@ -57,9 +57,11 @@ static int MPIR_TSP_Iallgatherv_sched_intra_recexch_data_exchange(int rank, int MPIR_ERR_CHECK(mpi_errno); } + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } @@ -101,9 +103,11 @@ static int MPIR_TSP_Iallgatherv_sched_intra_recexch_step1(int step1_sendto, int } } + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } @@ -185,9 +189,11 @@ int MPIR_TSP_Iallgatherv_sched_intra_recexch_step2(int step1_sendto, int step2_n *nrecvs_ = nrecvs; + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } @@ -222,9 +228,11 @@ static int MPIR_TSP_Iallgatherv_sched_intra_recexch_step3(int step1_sendto, int MPIR_ERR_CHECK(mpi_errno); } + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } /* Routine to schedule a recursive exchange based allgather */ diff --git a/src/mpi/coll/iallreduce/iallreduce_tsp_recursive_exchange_common.c b/src/mpi/coll/iallreduce/iallreduce_tsp_recursive_exchange_common.c index 178cec00f5a..b83f043ec37 100644 --- a/src/mpi/coll/iallreduce/iallreduce_tsp_recursive_exchange_common.c +++ b/src/mpi/coll/iallreduce/iallreduce_tsp_recursive_exchange_common.c @@ -114,6 +114,10 @@ int MPIR_TSP_Iallreduce_sched_intra_recexch_step1(const void *sendbuf, } } } + + fn_exit: MPIR_FUNC_EXIT; return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/ialltoall/ialltoall_tsp_brucks.c b/src/mpi/coll/ialltoall/ialltoall_tsp_brucks.c index f08164841a0..0634d2a4368 100644 --- a/src/mpi/coll/ialltoall/ialltoall_tsp_brucks.c +++ b/src/mpi/coll/ialltoall/ialltoall_tsp_brucks.c @@ -44,13 +44,13 @@ static int brucks_sched_pup(int pack, void *rbuf, void *pupbuf, MPI_Datatype rtype, MPI_Aint count, int phase, int k, int digitval, int comm_size, int *pupsize, - MPIR_TSP_sched_t sched, int ninvtcs, int *invtcs) + MPIR_TSP_sched_t sched, int ninvtcs, int *invtcs, int *sink_id) { MPI_Aint type_extent, type_lb, type_true_extent; int pow_k_phase, offset, nconsecutive_occurrences, delta; int *dtcopy_id; int counter; - int sink_id, vtx_id; + int vtx_id; int mpi_errno = MPI_SUCCESS; MPIR_FUNC_ENTER; @@ -99,14 +99,16 @@ brucks_sched_pup(int pack, void *rbuf, void *pupbuf, MPI_Datatype rtype, MPI_Ain *pupsize += count * type_extent; /* NOTE: This may not be extent, it might be type_size - CHECK THIS */ } - mpi_errno = MPIR_TSP_sched_selective_sink(sched, counter, dtcopy_id, &sink_id); + mpi_errno = MPIR_TSP_sched_selective_sink(sched, counter, dtcopy_id, sink_id); MPIR_ERR_CHECK(mpi_errno); MPL_free(dtcopy_id); + fn_exit: MPIR_FUNC_EXIT; - - return sink_id; + return mpi_errno; + fn_fail: + goto fn_exit; } int @@ -271,10 +273,11 @@ MPIR_TSP_Ialltoall_sched_intra_brucks(const void *sendbuf, MPI_Aint sendcount, pack_invtcs[k - 1] = sendids[j - 1]; pack_ninvtcs = k; } - packids[j - 1] = + mpi_errno = brucks_sched_pup(1, recvbuf, tmp_sbuf[i][j - 1], recvtype, recvcount, i, k, j, size, - &packsize, sched, pack_ninvtcs, pack_invtcs); + &packsize, sched, pack_ninvtcs, pack_invtcs, &packids[j - 1]); + MPIR_ERR_CHECK(mpi_errno); *unpack_invtcs = packids[j - 1]; unpack_ninvtcs = 1; @@ -295,10 +298,12 @@ MPIR_TSP_Ialltoall_sched_intra_brucks(const void *sendbuf, MPI_Aint sendcount, *(unpack_invtcs + 1) = recvids[j - 1]; unpack_ninvtcs = 2; - unpackids[j - 1] = + mpi_errno = brucks_sched_pup(0, recvbuf, tmp_rbuf[i][j - 1], recvtype, recvcount, i, k, j, size, - &packsize, sched, unpack_ninvtcs, unpack_invtcs); + &packsize, sched, unpack_ninvtcs, unpack_invtcs, + &unpackids[j - 1]); + MPIR_ERR_CHECK(mpi_errno); num_unpacks_in_last_phase++; } MPIR_Localcopy(unpackids, sizeof(int) * (k - 1), MPI_BYTE, diff --git a/src/mpi/coll/ireduce_scatter/ireduce_scatter_tsp_recexch.c b/src/mpi/coll/ireduce_scatter/ireduce_scatter_tsp_recexch.c index cab41edd2b5..ede28e9432a 100644 --- a/src/mpi/coll/ireduce_scatter/ireduce_scatter_tsp_recexch.c +++ b/src/mpi/coll/ireduce_scatter/ireduce_scatter_tsp_recexch.c @@ -120,9 +120,11 @@ int MPIR_TSP_Ireduce_scatter_sched_intra_recexch_step2(void *tmp_results, void * if (is_out_vtcs) *reduce_id_ = reduce_id; + fn_exit: MPIR_FUNC_EXIT; - return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/scatter/scatter_inter_linear.c b/src/mpi/coll/scatter/scatter_inter_linear.c index 2d6cdc47cc3..42065a19915 100644 --- a/src/mpi/coll/scatter/scatter_inter_linear.c +++ b/src/mpi/coll/scatter/scatter_inter_linear.c @@ -23,7 +23,7 @@ int MPIR_Scatter_inter_linear(const void *sendbuf, MPI_Aint sendcount, MPI_Datat if (root == MPI_PROC_NULL) { /* local processes other than root do nothing */ - return MPI_SUCCESS; + goto fn_exit; } remote_size = comm_ptr->remote_size; @@ -42,5 +42,8 @@ int MPIR_Scatter_inter_linear(const void *sendbuf, MPI_Aint sendcount, MPI_Datat MPIR_ERR_CHECK(mpi_errno); } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpi/coll/scatter/scatter_inter_remote_send_local_scatter.c b/src/mpi/coll/scatter/scatter_inter_remote_send_local_scatter.c index bd19e3147ec..e85a6b55ac8 100644 --- a/src/mpi/coll/scatter/scatter_inter_remote_send_local_scatter.c +++ b/src/mpi/coll/scatter/scatter_inter_remote_send_local_scatter.c @@ -34,8 +34,7 @@ int MPIR_Scatter_inter_remote_send_local_scatter(const void *sendbuf, MPI_Aint s if (root == MPI_ROOT) { /* root sends all data to rank 0 on remote group and returns */ mpi_errno = - MPIC_Send(sendbuf, sendcount * remote_size, sendtype, 0, MPIR_SCATTER_TAG, comm_ptr, - errflag); + MPIC_Send(sendbuf, sendcount * remote_size, sendtype, 0, MPIR_SCATTER_TAG, comm_ptr); MPIR_ERR_CHECK(mpi_errno); goto fn_exit; } else { diff --git a/src/mpid/ch4/shm/posix/release_gather/nb_bcast_release_gather.h b/src/mpid/ch4/shm/posix/release_gather/nb_bcast_release_gather.h index 15036053321..dbf43e16fe7 100644 --- a/src/mpid/ch4/shm/posix/release_gather/nb_bcast_release_gather.h +++ b/src/mpid/ch4/shm/posix/release_gather/nb_bcast_release_gather.h @@ -455,21 +455,21 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_POSIX_nb_release_gather_ibcast_impl(void *loc mpi_errno = MPIR_TSP_sched_generic(finish_send_recv_type_id, data, sched, 1, &first_vtx_id, &second_vtx_id); - MPI_ERR_CHECK(mpi_errno); + MPIR_ERR_CHECK(mpi_errno); mpi_errno = MPIR_TSP_sched_generic(update_release_flag_type_id, data, sched, 1, &second_vtx_id, &third_vtx_id); - MPI_ERR_CHECK(mpi_errno); + MPIR_ERR_CHECK(mpi_errno); mpi_errno = MPIR_TSP_sched_cb(&MPIDI_POSIX_NB_RG_non_root_datacopy_cb, data, sched, 1, &third_vtx_id, &fourth_vtx_id); - MPI_ERR_CHECK(mpi_errno); + MPIR_ERR_CHECK(mpi_errno); mpi_errno = MPIR_TSP_sched_generic(gather_type_id, data, sched, 1, &fourth_vtx_id, &fifth_vtx_id); - MPI_ERR_CHECK(mpi_errno); + MPIR_ERR_CHECK(mpi_errno); mpi_errno = MPIR_TSP_sched_cb(&MPIDI_POSIX_NB_RG_update_gather_flag_cb, data, sched, 1, diff --git a/src/mpid/ch4/shm/posix/release_gather/release_gather.c b/src/mpid/ch4/shm/posix/release_gather/release_gather.c index 6174f6966d0..8068429b1b6 100644 --- a/src/mpid/ch4/shm/posix/release_gather/release_gather.c +++ b/src/mpid/ch4/shm/posix/release_gather/release_gather.c @@ -475,4 +475,6 @@ int MPIDI_POSIX_mpi_release_gather_comm_free(MPIR_Comm * comm_ptr) fn_exit: MPIR_FUNC_EXIT; return mpi_errno; + fn_fail: + goto fn_exit; } diff --git a/src/mpid/ch4/src/ch4_coll_impl.h b/src/mpid/ch4/src/ch4_coll_impl.h index d168164cf4d..5ca794a4275 100644 --- a/src/mpid/ch4/src/ch4_coll_impl.h +++ b/src/mpid/ch4/src/ch4_coll_impl.h @@ -197,7 +197,10 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_Barrier_intra_composition_alpha(MPIR_Comm * c #endif /* MPIDI_CH4_DIRECT_NETMOD */ } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } MPL_STATIC_INLINE_PREFIX int MPIDI_Barrier_intra_composition_beta(MPIR_Comm * comm) @@ -301,7 +304,10 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_Bcast_intra_composition_alpha(void *buffer, M MPIDU_genq_private_pool_free_cell(MPIDI_global.gpu_coll_pool, host_buffer); } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } MPL_STATIC_INLINE_PREFIX int MPIDI_Bcast_intra_composition_beta(void *buffer, MPI_Aint count, @@ -366,7 +372,10 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_Bcast_intra_composition_beta(void *buffer, MP MPIDU_genq_private_pool_free_cell(MPIDI_global.gpu_coll_pool, host_buffer); } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } MPL_STATIC_INLINE_PREFIX int MPIDI_Bcast_intra_composition_gamma(void *buffer, MPI_Aint count, @@ -512,7 +521,10 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_Bcast_intra_composition_delta(void *buffer, M #endif /* MPIDI_CH4_DIRECT_NETMOD */ } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } MPL_STATIC_INLINE_PREFIX int MPIDI_Allreduce_intra_composition_alpha(const void *sendbuf, @@ -901,7 +913,10 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_Allreduce_intra_composition_delta(const void offset += chunk_count; } + fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } MPL_STATIC_INLINE_PREFIX int MPIDI_Reduce_intra_composition_alpha(const void *sendbuf, @@ -1206,6 +1221,8 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_Alltoall_intra_composition_alpha(const void * fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } MPL_STATIC_INLINE_PREFIX int MPIDI_Alltoall_intra_composition_beta(const void *sendbuf, @@ -1389,6 +1406,8 @@ MPL_STATIC_INLINE_PREFIX int MPIDI_Allgather_intra_composition_alpha(const void fn_exit: return mpi_errno; + fn_fail: + goto fn_exit; } MPL_STATIC_INLINE_PREFIX int MPIDI_Allgather_intra_composition_beta(const void *sendbuf,