[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