public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* get_gcov_type() vs. -fprofile-update=atomic
@ 2021-08-09  6:51 Sebastian Huber
  2021-08-09  8:02 ` Sebastian Huber
  2021-08-09 10:22 ` Richard Biener
  0 siblings, 2 replies; 11+ messages in thread
From: Sebastian Huber @ 2021-08-09  6:51 UTC (permalink / raw)
  To: GCC Development

Hello,

I would like to use gcov for a multi-threaded program running on an SMP 
machine using a 32-bit SPARC/LEON3 target. This target supports 
HAVE_atomic_compare_and_swapsi but not HAVE_atomic_compare_and_swapdi. 
Unfortunately we have:

/* Return the type node for gcov_type.  */

tree
get_gcov_type (void)
{
   scalar_int_mode mode
     = smallest_int_mode_for_size (LONG_LONG_TYPE_SIZE > 32 ? 64 : 32);
   return lang_hooks.types.type_for_mode (mode, false);
}

The long long type is 64-bit, the get_gcov_type() returns a 64-bit type. 
This disables the atomic support in tree_profiling().

For what is the gcov type used? Could we add an option to force it to 
32-bit? What would be the consequences?

Another option would be to add something like an 
-fprofile-update=force-atomic option which would resort to libatomic. 
Which would deliver bad performance, however, correct results in a 
multi-threaded program I guess.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber@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/

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2021-08-10  8:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-09  6:51 get_gcov_type() vs. -fprofile-update=atomic Sebastian Huber
2021-08-09  8:02 ` Sebastian Huber
2021-08-09 10:22 ` Richard Biener
2021-08-09 10:55   ` Sebastian Huber
2021-08-09 11:27     ` Richard Biener
2021-08-09 12:03       ` Sebastian Huber
2021-08-09 12:13         ` Richard Biener
2021-08-09 13:36           ` Sebastian Huber
2021-08-10  6:07           ` Sebastian Huber
2021-08-10  7:59             ` Richard Biener
2021-08-10  8:10               ` Sebastian Huber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).