Re: [RFC][PATCH 1/2] lto: Fix streaming of loop->can_be_parallel [PR125717]

Dhruv Chawla <[email protected]> Wed, 17 Jun 2026 14:33:31 +0530
Newsgroups gmane.comp.gcc.patches,gmane.comp.gcc.fortran
Message-ID <[email protected]>
On 17/06/26 13:47, Richard Biener wrote:
> External email: Use caution opening links or attachments
> 
> 
> On Wed, Jun 17, 2026 at 8:26 AM <[email protected]> wrote:
>>
>> From: Dhruv Chawla <[email protected]>
>>
>> The can_be_parallel flag was not being streamed out, so any frontend
>> setting the flag (via annot_expr_parallel_kind) would not observe it doing
>> anything when LTO was enabled.
>>
>> Bootstrapped and regtested on aarch64-linux-gnu.
> 
> OK.

Thanks, committed as r17-1612-g4cede4b0f48e07.

-- 
Regards,
Dhruv

> 
>> Signed-off-by: Dhruv Chawla <[email protected]>
>>
>> gcc/ChangeLog:
>>
>>          PR fortran/125717
>>          * lto-streamer-in.cc (input_cfg): Stream loop->can_be_parallel in.
>>          * lto-streamer-out.cc (output_cfg): Stream loop->can_be_parallel out.
>> ---
>>   gcc/lto-streamer-in.cc  | 1 +
>>   gcc/lto-streamer-out.cc | 1 +
>>   2 files changed, 2 insertions(+)
>>
>> diff --git a/gcc/lto-streamer-in.cc b/gcc/lto-streamer-in.cc
>> index ee2fa2affbc..92f83ebbbb0 100644
>> --- a/gcc/lto-streamer-in.cc
>> +++ b/gcc/lto-streamer-in.cc
>> @@ -1140,6 +1140,7 @@ input_cfg (class lto_input_block *ib, class data_in *data_in,
>>         loop->dont_vectorize = streamer_read_hwi (ib);
>>         loop->force_vectorize = streamer_read_hwi (ib);
>>         loop->finite_p = streamer_read_hwi (ib);
>> +      loop->can_be_parallel = streamer_read_hwi (ib);
>>         loop->simduid = stream_read_tree (ib, data_in);
>>
>>         place_new_loop (fn, loop);
>> diff --git a/gcc/lto-streamer-out.cc b/gcc/lto-streamer-out.cc
>> index f2feefc1532..87f9612b3d7 100644
>> --- a/gcc/lto-streamer-out.cc
>> +++ b/gcc/lto-streamer-out.cc
>> @@ -2220,6 +2220,7 @@ output_cfg (struct output_block *ob, struct function *fn)
>>         streamer_write_hwi (ob, loop->dont_vectorize);
>>         streamer_write_hwi (ob, loop->force_vectorize);
>>         streamer_write_hwi (ob, loop->finite_p);
>> +      streamer_write_hwi (ob, loop->can_be_parallel);
>>         stream_write_tree (ob, loop->simduid, true);
>>       }
>>
>> --
>> 2.43.0
>>