payload: {"push_id":3669256321,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"099eca832e7ef22c7229bc707789bc680ea228bd","before":"eb4d6142dcd53d79d8f8a86908a035582965fc52","commits":[{"sha":"d8e8722791e4ce6694673d450fdcaf99e5edcbf9","author":{"name":"Eli Friedman","email":"8e5ee4945af1f17b38864e236876caaaabff2d25@quicinc.com"},"message":"[CodeGen] Fix hashing for MO_ExternalSymbol MachineOperands.\n\nWe were hashing the string pointer, not the string, so two instructions\ncould be identical (isIdenticalTo), but have different hash codes.\n\nThis showed up as a very rare, non-deterministic assertion failure\nrehashing a DenseMap constructed by MachineOutliner.  So there's no\n\"real\" testcase, just a unittest which checks that the hash function\nbehaves correctly.\n\nI'm a little scared fixing this is going to cause a regression in\noutlining or MachineCSE, but hopefully we won't run into any issues.\n\nDifferential Revision: https://reviews.llvm.org/D61975\n\nllvm-svn: 362281","distinct":true,"url":"https://api.github.com/repos/ecnelises/llvm-project/commits/d8e8722791e4ce6694673d450fdcaf99e5edcbf9"},{"sha":"099eca832e7ef22c7229bc707789bc680ea228bd","author":{"name":"Philip Reames","email":"1a6d70c497b881333962fb40612e3f3827d7c1cd@philipreames.com"},"message":"[LoopPred] Handle a subset of NE comparison based latches\n\nAt the moment, LoopPredication completely bails out if it sees a latch of the form:\n%cmp = icmp ne %iv, %N\nbr i1 %cmp, label %loop, label %exit\nOR\n%cmp = icmp ne %iv.next, %NPlus1\nbr i1 %cmp, label %loop, label %exit\n\nThis is unfortunate since this is exactly the form that LFTR likes to produce. So, go ahead and recognize simple cases where we can.\n\nFor pre-increment loops, we leverage the fact that LFTR likes canonical counters (i.e. those starting at zero) and a (presumed) range fact on RHS to discharge the check trivially.\n\nFor post-increment forms, the key insight is in remembering that LFTR had to insert a (N+1) for the RHS. CVP can hopefully prove that add nsw/nuw (if there's appropriate range on N to start with). This leaves us both with the post-inc IV and the RHS involving an nsw/nuw add, and SCEV can discharge that with no problem.\n\nThis does still need to be extended to handle non-one steps, or other harder patterns of variable (but range restricted) starting values. That'll come later.\n\nDifferential Revision: https://reviews.llvm.org/D62748\n\nllvm-svn: 362282","distinct":true,"url":"https://api.github.com/repos/ecnelises/llvm-project/commits/099eca832e7ef22c7229bc707789bc680ea228bd"}]}
other: {"actor":{"display_login":"ecnelises"}}