[llvm-dev] [PATCH] Add support for the 'unless' matcher in the dynamic layer.

Manuel Klimek via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 27 03:40:10 PDT 2016


On Wed, Jul 27, 2016 at 1:06 AM Piotr Padlewski via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> We could also just add nothing() matcher, so debugging would be much
> easier, just add anything() or nothing() matcher as extra argument.
>
> The other pros of it is that new developers won't send the patches that
> uses those variadic matchers with only one argument.
>

We already have anything() and unless(anything()).


>
> 2016-07-26 16:02 GMT-07:00 Zac Hansen via llvm-dev <
> llvm-dev at lists.llvm.org>:
>
>> Even if it still did add overhead, it seems perfectly reasonable, from a
>> user's perspective (namely mine), that if I introduce unnecessary narrowing
>> matchers to my chain that there may be a performance penalty.
>>
>> The ability to do the following easily outweighs any performance issues
>> for me:
>>
>>
>> anyOf (
>> /*    hasName("..."), */
>>     hasName("...")
>>
>> )
>>
>> though C++ not allowing trailing commas makes this not quite as great.
>>
>>
>> *However, without help, I would not be able to put forward a patch with
>> anything more than simply removing the minimums.*
>>
>> Would this be acceptable or would someone be able to point me at what it
>> would take to do it the "smart way" in less time than it would take them to
>> make the change themselves?
>>
>> On Tue, Jul 26, 2016 at 3:29 PM, Samuel Benzaquen <sbenza at google.com>
>> wrote:
>>
>>> One of the reasons we added the minimum was because these nodes added
>>> overhead to the matching that was not unnecessary when they only had a
>>> single node.
>>> On the current implementation we could actually get rid of the node
>>> completely for the one argument calls.
>>> I would be ok with removing the lower bound.
>>>
>>>
>>> On Tue, Jul 26, 2016 at 6:20 PM, Zac Hansen <xaxxon at gmail.com> wrote:
>>>
>>>> I was wondering if there is any objection to removing the 2-element
>>>> minimum on the eachOf, anyOf and allOf matchers.
>>>>
>>>> It is frustrating when playing with matchers to have to edit
>>>> significant amounts of code to be able to temporarily go from 2 to 1
>>>> matcher inside an any- or allOf matcher.
>>>>
>>>> And overall it feels very "un-set-theory"-like.
>>>>
>>>> The change was made here:
>>>> https://github.com/llvm-mirror/clang/commit/674e54c167eab0be7a54bca7082c07d2f1d0c8cc
>>>>
>>>>
>>>> Thank you and apologies if I sent this to the wrong lists/people.
>>>>
>>>> --Zac
>>>>
>>>
>>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160727/fca9d73b/attachment.html>


More information about the cfe-commits mailing list