[llvm] r254242 - [SelectionDAG] Use std::any_of instead of a manually coded loop. NFC

Yaron Keren via llvm-commits llvm-commits at lists.llvm.org
Sun Nov 29 23:40:19 PST 2015


Thanks!


2015-11-30 1:45 GMT+02:00 Sanjoy Das via llvm-commits <
llvm-commits at lists.llvm.org>:

>
>
> Craig Topper via llvm-commits wrote:
>
>> Replaced in r254260.
>>
>> FWIW, there's also this code in ScalarEvolution.cpp that does similar.
>>
>>    // If FlagNSW is true and all the operands are non-negative, infer
>> FlagNUW.
>>    auto IsKnownNonNegative =
>>      std::bind(std::mem_fn(&ScalarEvolution::isKnownNonNegative), SE, _1);
>>
>>    if (SignOrUnsignWrap == SCEV::FlagNSW &&
>>        std::all_of(Ops.begin(), Ops.end(), IsKnownNonNegative))
>>      Flags =
>>          ScalarEvolution::setFlags(Flags,
>> (SCEV::NoWrapFlags)SignOrUnsignMask);
>>
>
> I had added that code some time back, but I agree that a lambda is much
> more readable.  Fixed in r254276.
>
> -- Sanjoy
>
>
>
>>
>> On Sun, Nov 29, 2015 at 7:20 AM, David Blaikie <dblaikie at gmail.com
>> <mailto:dblaikie at gmail.com>> wrote:
>>
>>
>>     On Nov 29, 2015 3:28 AM, "Alex Bradbury via llvm-commits" <
>> llvm-commits at lists.llvm.org
>>     <mailto:llvm-commits at lists.llvm.org>> wrote:
>>      >
>>      > On 29 November 2015 at 04:37, Craig Topper via llvm-commits
>>      > <llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>>
>> wrote:
>>      > > Author: ctopper
>>      > > Date: Sat Nov 28 22:37:11 2015
>>      > > New Revision: 254242
>>      > >
>>      > > URL: http://llvm.org/viewvc/llvm-project?rev=254242&view=rev
>>     <http://llvm.org/viewvc/llvm-project?rev=254242&view=rev>
>>      > > Log:
>>      > > [SelectionDAG] Use std::any_of instead of a manually coded loop.
>> NFC
>>      > >
>>      > > Modified:
>>      > >     llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
>>      > >
>>      > > Modified: llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
>>      > > URL:
>>
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp?rev=254242&r1=254241&r2=254242&view=diff
>>     <
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp?rev=254242&r1=254241&r2=254242&view=diff
>> >
>>      > >
>> ==============================================================================
>>      > > --- llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
>> (original)
>>      > > +++ llvm/trunk/lib/CodeGen/SelectionDAG/DAGCombiner.cpp Sat Nov
>> 28 22:37:11 2015
>>      > > @@ -11317,15 +11317,11 @@ bool
>> DAGCombiner::MergeConsecutiveStores
>>      > >          break;
>>      > >      }
>>      > >
>>      > > -    bool Alias = false;
>>      > >      // Check if this store interferes with any of the loads
>> that we found.
>>      > > -    for (unsigned ld = 0, lde = AliasLoadNodes.size(); ld <
>> lde; ++ld)
>>      > > -      if (isAlias(AliasLoadNodes[ld], StoreNodes[i].MemNode)) {
>>      > > -        Alias = true;
>>      > > -        break;
>>      > > -      }
>>      > > -    // We found a load that alias with this store. Stop the
>> sequence.
>>      > > -    if (Alias)
>>      > > +    // If we find a load that alias with this store. Stop the
>> sequence.
>>      > > +    if (std::any_of(AliasLoadNodes.begin(),
>> AliasLoadNodes.end(),
>>      > > +
>> std::bind(std::mem_fn(&DAGCombiner::isAlias), this,
>>      > > +                              std::placeholders::_1,
>> StoreNodes[i].MemNode)))
>>      >
>>      > I know this comes partly down to personal preference, but I can't
>> help
>>      > but think this would be more readable with a lambda (like the
>> recent
>>      > cleanups to CodeGenDAGPatterns by you and David Blaikie).
>>
>>     Yeah, that's what the Google style guide has suggested (that bind
>> just isn't worth it & lambdas should just be used
>>     instead, even in the few cases where bind might be lexically shorter)
>> & I tend to agree with it, but not totally
>>     fussed, personally, if people want to play with bind and see how it
>> feels
>>
>>      >
>>      > Alex
>>      > _______________________________________________
>>      > llvm-commits mailing list
>>      > llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
>>      > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>>
>>
>>
>> --
>> ~Craig
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151130/86c90cb3/attachment.html>


More information about the llvm-commits mailing list