]> granicus.if.org Git - llvm/commit
[InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp)
authorDmitry Venikov <quolyk@gmail.com>
Wed, 3 Jan 2018 14:37:42 +0000 (14:37 +0000)
committerDmitry Venikov <quolyk@gmail.com>
Wed, 3 Jan 2018 14:37:42 +0000 (14:37 +0000)
commit0bb74a59ff43ecf621cbf9425482e6daa778a032
tree53e4fd965a7a564ed94c2c6e96e31dc9c11bfa3e
parent6d1f7de22325f5d2e660e7c6ccc29d15a85a0945
[InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp)

Summary: This patch enables folding following expressions under -ffast-math flag: exp(log(x)) -> x, exp2(log2(x)) -> x, log(exp(x)) -> x, log2(exp2(x)) -> x

Reviewers: spatel, hfinkel, davide

Reviewed By: spatel, hfinkel, davide

Subscribers: scanon, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@321710 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/InstructionSimplify.cpp
test/Transforms/InstSimplify/exp-intrinsic.ll [new file with mode: 0644]
test/Transforms/InstSimplify/exp2-intrinsic.ll [new file with mode: 0644]
test/Transforms/InstSimplify/log-intrinsic.ll [new file with mode: 0644]
test/Transforms/InstSimplify/log2-intrinsic.ll [new file with mode: 0644]