diff options
author | Joseph Huber <jhuber6@vols.utk.edu> | 2021-01-27 10:34:01 -0500 |
---|---|---|
committer | Joseph Huber <jhuber6@vols.utk.edu> | 2021-02-17 21:37:08 -0500 |
commit | c3a3d200932347837283019a3870f185734f702d (patch) | |
tree | 8d8f3299fe4fa731463002ab309f14eee39d9318 /llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp | |
parent | 00c4e0a8f60b73a92a319963e84bfc9fdeee5b19 (diff) | |
download | llvm-c3a3d200932347837283019a3870f185734f702d.zip llvm-c3a3d200932347837283019a3870f185734f702d.tar.gz llvm-c3a3d200932347837283019a3870f185734f702d.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp')
0 files changed, 0 insertions, 0 deletions