[all-commits] [llvm/llvm-project] 61cc87: [LV] Recognize intrinsic min/max reductions

David Green via All-commits all-commits at lists.llvm.org
Wed Sep 15 02:46:06 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 61cc873a8ef1f3c77114b5322cf1f9f551c74978
      https://github.com/llvm/llvm-project/commit/61cc873a8ef1f3c77114b5322cf1f9f551c74978
  Author: David Green <david.green at arm.com>
  Date:   2021-09-15 (Wed, 15 Sep 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/IVDescriptors.h
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/test/Transforms/LoopVectorize/minmax_reduction.ll

  Log Message:
  -----------
  [LV] Recognize intrinsic min/max reductions

This extends the reduction logic in the vectorizer to handle intrinsic
versions of min and max, both the floating point variants already
created by instcombine under fastmath and the integer variants from
D98152.

As a bonus this allows us to match a chain of min or max operations into
a single reduction, similar to how add/mul/etc work.

Differential Revision: https://reviews.llvm.org/D109645




More information about the All-commits mailing list