[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

Evan Cheng evan.cheng at apple.com
Thu Jun 29 16:57:19 PDT 2006



Changes in directory llvm/lib/CodeGen/SelectionDAG:

SelectionDAG.cpp updated: 1.309 -> 1.310
---
Log message:

Ugly hack! Add helper functions InsertInFlightSetEntry and
RemoveInFlightSetEntry. They are used in place of direct set operators to
reduce instruction selection function stack size.


---
Diffs of the changes:  (+14 -0)

 SelectionDAG.cpp |   14 ++++++++++++++
 1 files changed, 14 insertions(+)


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.309 llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.310
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1.309	Wed Jun 28 13:29:47 2006
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp	Thu Jun 29 18:57:05 2006
@@ -3099,3 +3099,17 @@
   Map.insert(std::make_pair(SDOperand(Key, KeyResNo),
                             SDOperand(Element, ElementResNo)));
 }
+
+/// InsertInFlightSetEntry - A helper function to insert a SDNode* to a
+/// SDNode* set. This is added to avoid the set insertion operator from being
+/// inlined.
+void SelectionDAG::InsertInFlightSetEntry(std::set<SDNode*> &Set, SDNode *N) {
+  Set.insert(N);
+}
+
+/// RemoveInFlightSetEntry - A helper function to remove a SDNode* from a
+/// SDNode* set. This is added to avoid the set removal operator from being
+/// inlined.
+void SelectionDAG::RemoveInFlightSetEntry(std::set<SDNode*> &Set, SDNode *N) {
+  Set.erase(N);
+}






More information about the llvm-commits mailing list