Loading llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp +40 −37 Original line number Diff line number Diff line Loading @@ -83,7 +83,9 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { auto ResId = ValueToIdMap.lookup(Res); unsigned Mapped = 0; if (ResId && ReplacedValues.count(ResId)) { if (ResId) { auto I = ReplacedValues.find(ResId); if (I != ReplacedValues.end()) { Mapped |= 1; // Check that remapped values are only used by nodes marked NewNode. for (SDNode::use_iterator UI = Node.use_begin(), UE = Node.use_end(); Loading @@ -94,8 +96,8 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { // Check that the final result of applying ReplacedValues is not // marked NewNode. auto NewValId = ReplacedValues[ResId]; auto I = ReplacedValues.find(NewValId); auto NewValId = I->second; I = ReplacedValues.find(NewValId); while (I != ReplacedValues.end()) { NewValId = I->second; I = ReplacedValues.find(NewValId); Loading @@ -105,24 +107,25 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { assert(NewVal.getNode()->getNodeId() != NewNode && "ReplacedValues maps to a new node!"); } if (ResId && PromotedIntegers.count(ResId)) if (PromotedIntegers.count(ResId)) Mapped |= 2; if (ResId && SoftenedFloats.count(ResId)) if (SoftenedFloats.count(ResId)) Mapped |= 4; if (ResId && ScalarizedVectors.count(ResId)) if (ScalarizedVectors.count(ResId)) Mapped |= 8; if (ResId && ExpandedIntegers.count(ResId)) if (ExpandedIntegers.count(ResId)) Mapped |= 16; if (ResId && ExpandedFloats.count(ResId)) if (ExpandedFloats.count(ResId)) Mapped |= 32; if (ResId && SplitVectors.count(ResId)) if (SplitVectors.count(ResId)) Mapped |= 64; if (ResId && WidenedVectors.count(ResId)) if (WidenedVectors.count(ResId)) Mapped |= 128; if (ResId && PromotedFloats.count(ResId)) if (PromotedFloats.count(ResId)) Mapped |= 256; if (ResId && SoftPromotedHalfs.count(ResId)) if (SoftPromotedHalfs.count(ResId)) Mapped |= 512; } if (Node.getNodeId() != Processed) { // Since we allow ReplacedValues to map deleted nodes, it may map nodes Loading Loading
llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp +40 −37 Original line number Diff line number Diff line Loading @@ -83,7 +83,9 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { auto ResId = ValueToIdMap.lookup(Res); unsigned Mapped = 0; if (ResId && ReplacedValues.count(ResId)) { if (ResId) { auto I = ReplacedValues.find(ResId); if (I != ReplacedValues.end()) { Mapped |= 1; // Check that remapped values are only used by nodes marked NewNode. for (SDNode::use_iterator UI = Node.use_begin(), UE = Node.use_end(); Loading @@ -94,8 +96,8 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { // Check that the final result of applying ReplacedValues is not // marked NewNode. auto NewValId = ReplacedValues[ResId]; auto I = ReplacedValues.find(NewValId); auto NewValId = I->second; I = ReplacedValues.find(NewValId); while (I != ReplacedValues.end()) { NewValId = I->second; I = ReplacedValues.find(NewValId); Loading @@ -105,24 +107,25 @@ void DAGTypeLegalizer::PerformExpensiveChecks() { assert(NewVal.getNode()->getNodeId() != NewNode && "ReplacedValues maps to a new node!"); } if (ResId && PromotedIntegers.count(ResId)) if (PromotedIntegers.count(ResId)) Mapped |= 2; if (ResId && SoftenedFloats.count(ResId)) if (SoftenedFloats.count(ResId)) Mapped |= 4; if (ResId && ScalarizedVectors.count(ResId)) if (ScalarizedVectors.count(ResId)) Mapped |= 8; if (ResId && ExpandedIntegers.count(ResId)) if (ExpandedIntegers.count(ResId)) Mapped |= 16; if (ResId && ExpandedFloats.count(ResId)) if (ExpandedFloats.count(ResId)) Mapped |= 32; if (ResId && SplitVectors.count(ResId)) if (SplitVectors.count(ResId)) Mapped |= 64; if (ResId && WidenedVectors.count(ResId)) if (WidenedVectors.count(ResId)) Mapped |= 128; if (ResId && PromotedFloats.count(ResId)) if (PromotedFloats.count(ResId)) Mapped |= 256; if (ResId && SoftPromotedHalfs.count(ResId)) if (SoftPromotedHalfs.count(ResId)) Mapped |= 512; } if (Node.getNodeId() != Processed) { // Since we allow ReplacedValues to map deleted nodes, it may map nodes Loading