[all-commits] [llvm/llvm-project] c3a3d2: [LV] Add analysis remark for mixed precision conve...

Joseph Huber via All-commits all-commits at lists.llvm.org
Wed Feb 17 18:38:43 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c3a3d200932347837283019a3870f185734f702d
      https://github.com/llvm/llvm-project/commit/c3a3d200932347837283019a3870f185734f702d
  Author: Joseph Huber <jhuber6 at vols.utk.edu>
  Date:   2021-02-17 (Wed, 17 Feb 2021)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/mixed-precision-remarks.ll

  Log Message:
  -----------
  [LV] Add analysis remark for mixed precision conversions

Floating point conversions inside vectorized loops have performance
implications but are very subtle. The user could specify a floating
point constant, or call a function without realizing that it will
force a change in the vector width. An example of this behaviour is
seen in https://godbolt.org/z/M3nT6c . The vectorizer should indicate
when this happens becuase it is most likely unintended behaviour.

This patch adds a simple check for this behaviour by following floating
point stores in the original loop and checking if a floating point
conversion operation occurs.

Reviewed By: fhahn

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




More information about the All-commits mailing list