std::vector<SDNode*> *Deleted = 0);
void ReplaceAllUsesWith(SDNode *From, const std::vector<SDOperand> &To,
std::vector<SDNode*> *Deleted = 0);
-
-
+
/// DeleteNode - Remove the specified node from the system. This node must
/// have no referrers.
void DeleteNode(SDNode *N);
void dump() const;
+ /// InsertISelMapEntry - A helper function to insert a key / element pair
+ /// into a SDOperand to SDOperand map. This is added to avoid the map
+ /// insertion operator from being inlined.
+ static void InsertISelMapEntry(std::map<SDOperand, SDOperand> &Map,
+ SDNode *Key, unsigned KeyResNo,
+ SDNode *Element, unsigned ElementResNo);
+
private:
void RemoveNodeFromCSEMaps(SDNode *N);
SDNode *AddNonLeafNodeToCSEMaps(SDNode *N);
std::cerr << "\n\n";
}
+/// InsertISelMapEntry - A helper function to insert a key / element pair
+/// into a SDOperand to SDOperand map. This is added to avoid the map
+/// insertion operator from being inlined.
+void SelectionDAG::InsertISelMapEntry(std::map<SDOperand, SDOperand> &Map,
+ SDNode *Key, unsigned KeyResNo,
+ SDNode *Element, unsigned ElementResNo) {
+ Map.insert(std::make_pair(SDOperand(Key, KeyResNo),
+ SDOperand(Element, ElementResNo)));
+}