[InstCombine] x /c fabs(x) -> copysign(1.0, x)
authorDavid Bolvansky <david.bolvansky@gmail.com>
Mon, 12 Aug 2019 13:43:35 +0000 (13:43 +0000)
committerDavid Bolvansky <david.bolvansky@gmail.com>
Mon, 12 Aug 2019 13:43:35 +0000 (13:43 +0000)
commit20d37fab82968d45c00f85023bb329aa836221ad
treeed25c6f92e53a83fb9e9fe1778b9f4dd287e9a95
parent020eea0c16a2cd0a09704640a83a710c8e92c502
[InstCombine] x /c fabs(x) -> copysign(1.0, x)

Summary:
x / fabs(x) -> copysign(1.0, x)
fabs(x) / x -> copysign(1.0, x)

Reviewers: spatel, foad, RKSimon, efriedma

Reviewed By: spatel

Subscribers: lebedev.ri, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D65898

llvm-svn: 368570
llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
llvm/test/Transforms/InstCombine/fabs-copysign.ll