[all-commits] [llvm/llvm-project] f99672: [LoopVectorize] Fix strict reductions where VF = 1
    kmclaughlin-arm via All-commits 
    all-commits at lists.llvm.org
       
    Mon Jun 28 03:28:22 PDT 2021
    
    
  
  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f99672568fda6a9bc1ee4f09d5d84066f4979889
      https://github.com/llvm/llvm-project/commit/f99672568fda6a9bc1ee4f09d5d84066f4979889
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2021-06-28 (Mon, 28 Jun 2021)
  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
  Log Message:
  -----------
  [LoopVectorize] Fix strict reductions where VF = 1
Currently we will allow loops with a fixed width VF of 1 to vectorize
if the -enable-strict-reductions flag is set. However, the loop vectorizer
will not use ordered reductions if `VF.isScalar()` and the resulting
vectorized loop will be out of order.
This patch removes `VF.isVector()` when checking if ordered reductions
should be used. Also, instead of converting the FAdds to reductions if the
VF = 1, operands of the FAdds are changed such that the order is preserved.
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D104533
    
    
More information about the All-commits
mailing list