aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/DependencyFile.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-08-27 15:17:46 +0000
committerSanjay Patel <spatel@rotateright.com>2019-08-27 15:17:46 +0000
commitb516f1afdd9ee69c570b40185393fef8a67b42c1 (patch)
tree3f0e2a7a21d49f85c2632f66a9c222c6d71e5534 /clang/lib/Frontend/DependencyFile.cpp
parentfc056950aa0216cc1bca9bdf56fc912963e34d78 (diff)
downloadllvm-b516f1afdd9ee69c570b40185393fef8a67b42c1.zip
llvm-b516f1afdd9ee69c570b40185393fef8a67b42c1.tar.gz
llvm-b516f1afdd9ee69c570b40185393fef8a67b42c1.tar.bz2
[DAGCombiner] cancel fnegs from multiplied operands of FMA
(-X) * (-Y) + Z --> X * Y + Z This is a missing optimization that shows up as a potential regression in D66050, so we should solve it first. We appear to be partly missing this fold in IR as well. We do handle the simpler case already: (-X) * (-Y) --> X * Y And it might be beneficial to make the constraint less conservative (eg, if both operands are cheap, but not necessarily cheaper), but that causes infinite looping for the existing fmul transform. Differential Revision: https://reviews.llvm.org/D66755 llvm-svn: 370071
Diffstat (limited to 'clang/lib/Frontend/DependencyFile.cpp')
0 files changed, 0 insertions, 0 deletions