diff options
author | Sanjay Patel <spatel@rotateright.com> | 2021-03-04 16:27:51 -0500 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2021-03-04 17:21:32 -0500 |
commit | 1bee549737ace3a96288d8b16768aec5899fbb91 (patch) | |
tree | 921cba69acbeb12e4f36a876323b60dad228d7bc /llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp | |
parent | 51bd42ef9b870787afbeeffcd33adce765f70f23 (diff) | |
download | llvm-1bee549737ace3a96288d8b16768aec5899fbb91.zip llvm-1bee549737ace3a96288d8b16768aec5899fbb91.tar.gz llvm-1bee549737ace3a96288d8b16768aec5899fbb91.tar.bz2 |
[LoopVectorize] propagate fast-math-flags from induction instructions
This code assumed that FP math was only permissable if it was
fully "fast", so it hard-coded "fast" when creating new instructions.
The underlying code already allows matching recurrences/reductions
that are only "reassoc", so this change should prevent the potential
miscompile seen in the test diffs (we created "fast" ops even though
none existed in the original code).
I don't know if we need to create the temporary IRBuilder objects
used here, so that could be follow-up clean-up.
There's an open question about whether we should require "nsz" in
addition to "reassoc" here. InstCombine uses that combo for its
reassociative folds, but I think codegen is not as strict.
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp')
0 files changed, 0 insertions, 0 deletions