Transform assertion into optimization hints

Jonathan Wakely jwakely@redhat.com
Wed Sep 19 09:42:00 GMT 2018


On 19/09/18 10:16 +0100, Jonathan Wakely wrote:
>On 17/09/18 23:15 +0200, Marc Glisse wrote:
>>On Mon, 17 Sep 2018, François Dumont wrote:
>>
>>>We talk about it a while back.
>>>
>>>I've run testsuite several times since I have this patch on my 
>>>local copy. Note that when I implemented it the wrong way tests 
>>>started to fail so it is clearly having an effect on the generated 
>>>code.
>>>
>>>* include/bits/c++config [__OPTIMIZE__](__glibcxx_assert): Define 
>>>as optimization hint
>>>
>>>using __builtin_unreachable.
>>>
>>>Ok to commit ?
>>
>>I see for instance in bits/regex_automaton.tcc:
>>
>>             __glibcxx_assert(__m.count(__ref._M_next) > 0);
>>
>>where __m is a map, which does not look so well suited for a 
>>__builtin_unreachable. Is it using the wrong macro?
>
>Yes, that looks like it's checking the implementation, but we should
>only add assertions to check what users do (we just need to get our
>own implementation right).

I'll test this patch.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 939 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20180919/67f67b9b/attachment.bin>


More information about the Libstdc++ mailing list