https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63979
--- Comment #4 from vries at gcc dot gnu.org --- > Can you reproduce this with the trunk patch kit I posted internally? > gomp-4_0-branch is somewhat out of date wrt offloading. No, it does not reproduce that way. The split falls somewhat differently: ... Total unit size: 1929, partition size: 900 Step 0: added main._omp_fn.20/24, size 37, cost 1/0 best 1/0, step 0 Step 1: added main._omp_fn.19/23, size 73, cost 2/0 best 2/0, step 1 Step 2: added main._omp_fn.18/22, size 110, cost 3/0 best 3/0, step 2 ... Step 17: added main._omp_fn.3/7, size 660, cost 18/0 best 18/0, step 17 Step 18: added main._omp_fn.2/6, size 696, cost 19/0 best 18/0, step 17 Step 19: added main._omp_fn.1/5, size 714, cost 20/0 best 18/0, step 17 Step 20: added main._omp_fn.0/4, size 732, cost 21/0 best 18/0, step 17 Step 21: added main/3, size 1929, cost 53/21 best 18/0, step 17 Unwinding 4 insertions to step 17 New partition Step 18: added main._omp_fn.2/6, size 36, cost 1/21 best 1/21, step 18 Step 19: added main._omp_fn.1/5, size 54, cost 2/21 best 2/21, step 19 Step 20: added main._omp_fn.0/4, size 72, cost 3/21 best 3/21, step 20 Step 21: added main/3, size 1269, cost 71/24 best 3/21, step 20 ... But I think the main difference is that the offload table and main (using the offload table) are now in the same partition. I don't know whether that's by design or accident.