[PATCH] D84951: [LV] Try to sink users recursively for first-order recurrences.
    Florian Hahn via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Jul 30 09:20:57 PDT 2020
    
    
  
fhahn created this revision.
fhahn added reviewers: Ayal, gilr, rengolin, hfinkel.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.
fhahn requested review of this revision.
Update isFirstOrderRecurrence to  explore all uses of a recurrence phi
and check if we can sink them. If there are multiple users to sink, they
are all mapped to the previous instruction.
Consumers of SinkAfter now have to make sure they apply the mappings for
SinkAfter so that the relative order of the sunk instructions is
preserved. We can order them by the reverse `comes-before` predicate, as
sinking is limited to a single BB for now.
Fixes PR44286 (and another PR or two).
Repository:
  rG LLVM Github Monorepo
https://reviews.llvm.org/D84951
Files:
  llvm/include/llvm/Analysis/IVDescriptors.h
  llvm/lib/Analysis/IVDescriptors.cpp
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
  llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84951.281955.patch
Type: text/x-patch
Size: 11329 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200730/27233663/attachment.bin>
    
    
More information about the llvm-commits
mailing list