> -----Original Message----- > From: Sebastian Huber <sebastian.hu...@embedded-brains.de> > Sent: Wednesday, November 22, 2023 10:24 PM > To: Christophe Lyon <christophe.l...@linaro.org> > Cc: Jakub Jelinek <ja...@redhat.com>; gcc-patches@gcc.gnu.org > Subject: Re: [PATCH v2] gcov: Fix integer types in gen_counter_update() > > On 22.11.23 15:22, Christophe Lyon wrote: > > On Tue, 21 Nov 2023 at 12:22, Sebastian Huber > > <sebastian.hu...@embedded-brains.de> wrote: > >> On 21.11.23 11:46, Jakub Jelinek wrote: > >>> On Tue, Nov 21, 2023 at 11:42:06AM +0100, Sebastian Huber wrote: > >>>> On 21.11.23 11:34, Jakub Jelinek wrote: > >>>>>> --- a/gcc/tree-profile.cc > >>>>>> +++ b/gcc/tree-profile.cc > >>>>>> @@ -281,10 +281,13 @@ gen_assign_counter_update > (gimple_stmt_iterator *gsi, gcall *call, tree func, > >>>>>> if (result) > >>>>>> { > >>>>>> tree result_type = TREE_TYPE (TREE_TYPE (func)); > >>>>>> - tree tmp = make_temp_ssa_name (result_type, NULL, name); > >>>>>> - gimple_set_lhs (call, tmp); > >>>>>> + tree tmp1 = make_temp_ssa_name (result_type, NULL, name); > >>>>>> + gimple_set_lhs (call, tmp1); > >>>>>> gsi_insert_after (gsi, call, GSI_NEW_STMT); > >>>>>> - gassign *assign = gimple_build_assign (result, tmp); > >>>>>> + tree tmp2 = make_ssa_name (TREE_TYPE (result)); > >>>>>> + gassign *assign = gimple_build_assign (tmp2, NOP_EXPR, tmp1); > >>>>>> + gsi_insert_after (gsi, assign, GSI_NEW_STMT); > >>>>>> + assign = gimple_build_assign (result, gimple_assign_lhs > >>>>>> (assign)); > >>>>> When you use a temporary tmp2 for the lhs of the conversion, you can > just > >>>>> use it here, > >>>>> assign = gimple_build_assign (result, tmp2); > >>>>> > >>>>> Ok for trunk with that change. > >>>> Just a question, could I also use > >>>> > >>>> tree tmp2 = make_temp_ssa_name (TREE_TYPE (result), NULL, name); > >>>> > >>>> ? > >>>> > >>>> This make_temp_ssa_name() is used throughout the file and the new > >>>> make_ssa_name() would be the first use in this file. > >>> Yes. The only difference is that it won't be _234 = (type) something; > >>> but PROF_time_profile_234 = (type) something; in the dumps, but sure, > >>> consistency is useful. > >> Thanks for your help. I checked in an updated version. > >> > > Our CI bisected a regression to this commit: > > Running gcc:gcc.dg/tree-prof/tree-prof.exp ... > > FAIL: gcc.dg/tree-prof/time-profiler-3.c scan-ipa-dump-times profile > > "Read tp_first_run: 0" 1 > > FAIL: gcc.dg/tree-prof/time-profiler-3.c scan-ipa-dump-times profile > > "Read tp_first_run: 2" 1 > > > > (on aarch64) > > > > Can you check? > > Yes, I will have a look at it.
The same issue also happened on i386. You can also reproduce that on x86-64 platforms. Thx, Haochen > > -- > embedded brains GmbH > Herr Sebastian HUBER > Dornierstr. 4 > 82178 Puchheim > Germany > email: sebastian.hu...@embedded-brains.de > phone: +49-89-18 94 741 - 16 > fax: +49-89-18 94 741 - 08 > > Registergericht: Amtsgericht München > Registernummer: HRB 157899 > Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler > Unsere Datenschutzerklärung finden Sie hier: > https://embedded-brains.de/datenschutzerklaerung/