[legalize-types] Remove stale entries from SoftenedFloats.
authorFlorian Hahn <florian.hahn@arm.com>
Sat, 4 Mar 2017 12:00:35 +0000 (12:00 +0000)
committerFlorian Hahn <florian.hahn@arm.com>
Sat, 4 Mar 2017 12:00:35 +0000 (12:00 +0000)
commit6406f983421b29796b7d4e124a7a202ace169672
tree91c9d78d06d72a5d57226bffc5d0852e691f709a
parentd1471f110809f590b28eba5a0f3ced2d1b58febe
[legalize-types] Remove stale entries from SoftenedFloats.

Summary:
When replacing a SDValue, we should remove the replaced value from
SoftenedFloats (and possibly the other maps as well?).

When we revisit a Node because it needs analyzing again, we have to
remove all result values from SoftenedFloats (and possibly other maps?).

This fixes the fp128 test failures with expensive checks for X86.

I think we probably should also remove the values from the other maps
(PromotedIntegers and so on), let me know what you think.

Reviewers: baldrick, bogner, davidxl, ab, arsenm, pirama, chh, RKSimon

Reviewed By: chh

Subscribers: danalbert, wdng, srhines, hfinkel, sepavloff, llvm-commits

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

llvm-svn: 296964
llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
llvm/test/CodeGen/X86/fp128-compare.ll
llvm/test/CodeGen/X86/fp128-g.ll
llvm/test/CodeGen/X86/fp128-i128.ll
llvm/test/CodeGen/X86/fp128-libcalls.ll
llvm/test/CodeGen/X86/fp128-load.ll
llvm/test/CodeGen/X86/fp128-select.ll