[selectiondag] Check PromotedFloats map during expansive checks.

Summary:
`PromotedFloats` needs to be checked in 
`DAGTypeLegalizer::PerformExpensiveChecks`. This patch fixes a few type
legalization failures with expansive checks for ARM fp16 tests.

Reviewers: baldrick, bogner, arsenm

Subscribers: arsenm, aemerson, llvm-commits

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

llvm-svn: 290796
This commit is contained in:
Florian Hahn 2017-01-01 13:58:27 +00:00
parent 74af88e63d
commit f872d230ad
1 changed files with 4 additions and 0 deletions

View File

@ -117,6 +117,8 @@ void DAGTypeLegalizer::PerformExpensiveChecks() {
Mapped |= 64; Mapped |= 64;
if (WidenedVectors.find(Res) != WidenedVectors.end()) if (WidenedVectors.find(Res) != WidenedVectors.end())
Mapped |= 128; Mapped |= 128;
if (PromotedFloats.find(Res) != PromotedFloats.end())
Mapped |= 256;
if (Node.getNodeId() != Processed) { if (Node.getNodeId() != Processed) {
// Since we allow ReplacedValues to map deleted nodes, it may map nodes // Since we allow ReplacedValues to map deleted nodes, it may map nodes
@ -159,6 +161,8 @@ void DAGTypeLegalizer::PerformExpensiveChecks() {
dbgs() << " SplitVectors"; dbgs() << " SplitVectors";
if (Mapped & 128) if (Mapped & 128)
dbgs() << " WidenedVectors"; dbgs() << " WidenedVectors";
if (Mapped & 256)
dbgs() << " PromotedFloats";
dbgs() << "\n"; dbgs() << "\n";
llvm_unreachable(nullptr); llvm_unreachable(nullptr);
} }