aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2022-11-03 18:26:59 -0700
committerMatt Arsenault <Matthew.Arsenault@amd.com>2022-11-07 07:16:47 -0800
commit0f68ffe1e2b2d4b518aebe14709aff253658cfb2 (patch)
tree79b62311cb57167cd564618c474a134994f39cb1 /flang/lib/Frontend/CompilerInvocation.cpp
parentb9b74fc6e98a6e9bd50a1882b839419c9a6577b2 (diff)
downloadllvm-0f68ffe1e2b2d4b518aebe14709aff253658cfb2.zip
llvm-0f68ffe1e2b2d4b518aebe14709aff253658cfb2.tar.gz
llvm-0f68ffe1e2b2d4b518aebe14709aff253658cfb2.tar.bz2
InstCombine: Fold compare with smallest normal if input denormals are flushed
Try to simplify comparisons with the smallest normalized value. If denormals will be treated as 0, we can simplify by using an equality comparison with 0. fcmp olt fabs(x), smallest_normalized_number -> fcmp oeq x, 0.0 fcmp ult fabs(x), smallest_normalized_number -> fcmp ueq x, 0.0 fcmp oge fabs(x), smallest_normalized_number -> fcmp one x, 0.0 fcmp ult fabs(x), smallest_normalized_number -> fcmp ueq x, 0.0 The device libraries have a few range checks that look like this for denormal handling paths.
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions