[FPEnv][EarlyCSE] Support for CSE when exception behavior is "ignore" or "maytrap...
authorKevin P. Neal <kevin.neal@sas.com>
Tue, 16 Aug 2022 12:30:05 +0000 (08:30 -0400)
committerKevin P. Neal <kevin.neal@sas.com>
Tue, 16 Aug 2022 12:31:42 +0000 (08:31 -0400)
commit05ac82de400983a0ac9c050a20593fcb8e57cb52
treeb167ddf78ce775c75115cae5b917648fbffe8658
parent8f555a52e033ceec4c4508eb800c9a186acec87f
[FPEnv][EarlyCSE] Support for CSE when exception behavior is "ignore" or "maytrap" and the rounding mode is known.

Previously we would only CSE constrained FP intrinsics in the default
floating point environment. Exception behavior of "strict" is still not
allowed since we are not allowed to remove any traps in that case.

There are no restrictions on CSE across function calls inside a function.

Differential Revision: https://reviews.llvm.org/D112256
llvm/lib/Transforms/Scalar/EarlyCSE.cpp
llvm/test/Transforms/EarlyCSE/nonmixed-strictfp.ll
llvm/test/Transforms/EarlyCSE/tfpropagation.ll