Functions that are CSEable but not pure
Jason Merrill
jason@redhat.com
Thu Oct 4 03:40:00 GMT 2012
On 10/03/2012 07:06 PM, Joseph S. Myers wrote:
> On Wed, 3 Oct 2012, Jason Merrill wrote:
>
>> My implementation of dynamic initialization of TLS variables as mandated by
>> the C++11 and OpenMP standards uses this idiom implicitly, so I'd really like
>> to be able to optimize away multiple calls.
>
> I'd thought that dynamic initialization of TLS variables was supposed to
> need ELF gABI, C++ ABI, binutils and glibc support as per Jakub's comment
> in bug 27557 - have you found a way to avoid needing those, or are you
> actually discussing something else?
Handling it via init-on-first-use avoids the need for ELF and binutils
support. The interface needs to be specified in the C++ ABI, and I we
want glibc support for strict correctness (as with __cxa_atexit), but
the functionality can be implemented without it.
Jason
More information about the Gcc
mailing list