aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/CodeGen/SelectionDAG.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-06-29 23:57:05 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-06-29 23:57:05 +0000
commit322812e603705e1c2037313633e72f689524b163 (patch)
tree7d13d6695fbade190d0cc907b4b48dd5dbce83b5 /include/llvm/CodeGen/SelectionDAG.h
parent7dabf399b95aad4056985eac346451e134de9ebe (diff)
downloadexternal_llvm-322812e603705e1c2037313633e72f689524b163.tar.gz
external_llvm-322812e603705e1c2037313633e72f689524b163.tar.bz2
external_llvm-322812e603705e1c2037313633e72f689524b163.zip
Ugly hack! Add helper functions InsertInFlightSetEntry and
RemoveInFlightSetEntry. They are used in place of direct set operators to reduce instruction selection function stack size. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28987 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/SelectionDAG.h')
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index f05b5b96bd..473021afad 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -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 @@ public:
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);