[all-commits] [llvm/llvm-project] 2981a9: [EarlyCSE][ConstantFolding] do not constant fold a...

Sanjay Patel via All-commits all-commits at lists.llvm.org
Sat Aug 20 07:18:12 PDT 2022

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2981a9490277a7920936d287c9703f0f7edef84b
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-08-20 (Sat, 20 Aug 2022)

  Changed paths:
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/test/Transforms/EarlyCSE/atan.ll

  Log Message:
  [EarlyCSE][ConstantFolding] do not constant fold atan2(+/-0.0, +/-0.0), part 2

Follow-up to 7f1262a322c0d80f3. That patch avoided removing the
call, but it still allowed the constant-folded result. This
makes the behavior consistent with 1-arg libm folding: if the
call potentially raises an exception, then we just bail out.

It seems likely that there are other corner-cases like this,
but the tests are incomplete, so we have lived with these
discrepancies for a long time. This was untested before the
the constant folding was expanded in D127964.

More information about the All-commits mailing list