[llvm-commits] CVS: llvm/include/llvm/CodeGen/SelectionDAG.h

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



Changes in directory llvm/include/llvm/CodeGen:

SelectionDAG.h updated: 1.101 -> 1.102
---
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:  (+12 -1)

 SelectionDAG.h |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/CodeGen/SelectionDAG.h
diff -u llvm/include/llvm/CodeGen/SelectionDAG.h:1.101 llvm/include/llvm/CodeGen/SelectionDAG.h:1.102
--- llvm/include/llvm/CodeGen/SelectionDAG.h:1.101	Sat Apr 22 13:53:45 2006
+++ llvm/include/llvm/CodeGen/SelectionDAG.h	Thu Jun 29 18:57:05 2006
@@ -18,8 +18,9 @@
 #include "llvm/CodeGen/SelectionDAGNodes.h"
 #include "llvm/ADT/ilist"
 
-#include <map>
 #include <list>
+#include <map>
+#include <set>
 #include <string>
 
 namespace llvm {
@@ -429,6 +430,16 @@
   static void InsertISelMapEntry(std::map<SDOperand, SDOperand> &Map,
                                  SDNode *Key, unsigned KeyResNo,
                                  SDNode *Element, unsigned 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.
+  static void InsertInFlightSetEntry(std::set<SDNode*> &Set, SDNode *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.
+  static void RemoveInFlightSetEntry(std::set<SDNode*> &Set, SDNode *N);
   
 private:
   void RemoveNodeFromCSEMaps(SDNode *N);






More information about the llvm-commits mailing list