[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