[PATCH] D27113: Expensive checks: support promoted floats.
Anton Yartsev via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 24 12:25:31 PST 2016
ayartsev created this revision.
ayartsev added a subscriber: llvm-commits.
Hi all!
Attached patch eliminates a number of test failures in LLVM built with expensive checks turned on (-DLLVM_ENABLE_EXPENSIVE_CHECKS:BOOL=True).
DAGTypeLegalizer::PerformExpensiveChecks() is not currently familiar with promoted floats supported at r235215. This causes a number of tests to fail with "Processed value not in any map!" message. The patch solves the issue.
Please review!
https://reviews.llvm.org/D27113
Files:
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
Index: lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
===================================================================
--- lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
+++ lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
@@ -117,6 +117,8 @@
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 @@
dbgs() << " SplitVectors";
if (Mapped & 128)
dbgs() << " WidenedVectors";
+ if (Mapped & 256)
+ dbgs() << " PromotedFloats";
dbgs() << "\n";
llvm_unreachable(nullptr);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27113.79252.patch
Type: text/x-patch
Size: 814 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161124/6fcee7e6/attachment.bin>
More information about the llvm-commits
mailing list