From f872d230ad35c2fead29a89989f1b22201361e5f Mon Sep 17 00:00:00 2001 From: Florian Hahn Date: Sun, 1 Jan 2017 13:58:27 +0000 Subject: [PATCH] [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 --- llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp index 847034254281..693f5e2120a7 100644 --- a/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp @@ -117,6 +117,8 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { Mapped |= 64; if (WidenedVectors.find(Res) != WidenedVectors.end()) Mapped |= 128; + if (PromotedFloats.find(Res) != PromotedFloats.end()) + Mapped |= 256; if (Node.getNodeId() != Processed) { // Since we allow ReplacedValues to map deleted nodes, it may map nodes @@ -159,6 +161,8 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { dbgs() << " SplitVectors"; if (Mapped & 128) dbgs() << " WidenedVectors"; + if (Mapped & 256) + dbgs() << " PromotedFloats"; dbgs() << "\n"; llvm_unreachable(nullptr); }