On 09/07/2016 03:34 AM, Martin Liška wrote:
On 09/07/2016 09:45 AM, Christophe Lyon wrote:
> On 6 September 2016 at 15:45, Martin Liška <mli...@suse.cz> wrote:
>> On 09/06/2016 03:31 PM, Jakub Jelinek wrote:
>>> sizeof (gcov_type) talks about the host gcov type, you want instead the
>>> target gcov type. So
>>> TYPE_SIZE (gcov_type_node) == 32 vs. 64 (or TYPE_SIZE_UNIT (gcov_type_node)
>>> == 4 vs. 8).
>>> As SImode and DImode are in fact 4*BITS_PER_UNIT and 8*BITS_PER_UNIT,
>>> TYPE_SIZE_UNIT comparisons for 4 and 8 are most natural.
>>> And I wouldn't add gcc_unreachable, just warn for weirdo arches always.
>>>
>>> Jakub
>>
>> Thank you Jakub for helping me with that. I've used TYPE_SIZE_UNIT macro.
>>
>> Ready for trunk?
>> Martin
>
> Hi Martin,
>
> On targets which do not support atomic profile update, your patch generates a
> warning on gcc.dg/tree-prof/val-profiler-threads-1.c, making it fail.
>
> Do we need a new effective-target ?
>
> Christophe
>
Hi.
Thanks for observation, I'm sending a patch that does that.
Can you please test it?
Thanks,
Martin
0001-Add-new-effective-target-profile_update_atomic.patch
From 9a68f2fbf2b5cb547aee7860926c846d5f15d398 Mon Sep 17 00:00:00 2001
From: marxin <mli...@suse.cz>
Date: Wed, 7 Sep 2016 11:28:13 +0200
Subject: [PATCH] Add new effective target: profile_update_atomic
gcc/testsuite/ChangeLog:
2016-09-07 Martin Liska <mli...@suse.cz>
* g++.dg/gcov/gcov-threads-1.C: Use profile_update_atomic
effective target.
* gcc.dg/tree-prof/val-profiler-threads-1.c: Likewise.
* lib/target-supports.exp: Define the new target.
OK.
jeff