[DAG Combiner] Fix the native computation of the Newton series for reciprocals
authorEvandro Menezes <e.menezes@samsung.com>
Thu, 10 Nov 2016 23:31:06 +0000 (23:31 +0000)
committerEvandro Menezes <e.menezes@samsung.com>
Thu, 10 Nov 2016 23:31:06 +0000 (23:31 +0000)
commit21f9ce1a0d8776e4aeeae4d9b4762a58dd4d2421
treef3532c55de6bddff7960c82390993f148894863d
parent16d52a2a723e0a365c79152c7438a60134346d1d
[DAG Combiner] Fix the native computation of the Newton series for reciprocals

The generic infrastructure to compute the Newton series for reciprocal and
reciprocal square root was conceived to allow a target to compute the series
itself.  However, the original code did not properly consider this condition
if returned by a target.  This patch addresses the issues to allow a target
to compute the series on its own.

Differential revision: https://reviews.llvm.org/D22975

llvm-svn: 286523
llvm/include/llvm/Target/TargetLowering.h
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/lib/Target/AArch64/AArch64ISelLowering.h
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
llvm/lib/Target/PowerPC/PPCISelLowering.cpp
llvm/lib/Target/PowerPC/PPCISelLowering.h
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h