[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 03:50:12 PST 2015


+1
std::bind(std::mem_fn(&DAGCombiner::isAlias), this, std::placeholders::_1,
StoreNodes[i].MemNode)
to me, this is less readable than the original code, due to the use of
std::bind, std::mem_fn, std::placeholders::_1, call nesting and the prefix
notation.


2015-11-29 13:28 GMT+02:00 Alex Bradbury via llvm-commits <
llvm-commits at lists.llvm.org>:

> On 29 November 2015 at 04:37, Craig Topper via llvm-commits
> <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
> > 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
> >
> ==============================================================================
> > --- 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).
>
> Alex
> _______________________________________________
> 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/20151129/c76cfb43/attachment.html>


More information about the llvm-commits mailing list