summaryrefslogtreecommitdiff
path: root/utils/TableGen/DAGISelEmitter.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-02-07 00:37:41 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-02-07 00:37:41 +0000
commit21ad392ee69191f414fd027ed52360282b0bacbf (patch)
tree00f97ca69326f0fadf605807025a9c00a22fe546 /utils/TableGen/DAGISelEmitter.h
parenta3b8c57b9eb34af7f1677e3b002e6c8185891300 (diff)
downloadllvm-21ad392ee69191f414fd027ed52360282b0bacbf.tar.gz
llvm-21ad392ee69191f414fd027ed52360282b0bacbf.tar.bz2
llvm-21ad392ee69191f414fd027ed52360282b0bacbf.tar.xz
Hoist all SDOperand declarations within a Select_{opcode}() to the top level
to reduce stack memory usage. This is intended to work around the gcc bug. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26026 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelEmitter.h')
-rw-r--r--utils/TableGen/DAGISelEmitter.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/utils/TableGen/DAGISelEmitter.h b/utils/TableGen/DAGISelEmitter.h
index 0cc1dbf89a..6bc0668117 100644
--- a/utils/TableGen/DAGISelEmitter.h
+++ b/utils/TableGen/DAGISelEmitter.h
@@ -16,6 +16,7 @@
#include "TableGenBackend.h"
#include "CodeGenTarget.h"
+#include <set>
namespace llvm {
class Record;
@@ -405,12 +406,10 @@ struct PatternToMatch {
/// and emission of the instruction selector.
///
class DAGISelEmitter : public TableGenBackend {
-public:
- //typedef std::pair<TreePatternNode*, TreePatternNode*> PatternToMatch;
private:
RecordKeeper &Records;
CodeGenTarget Target;
-
+
std::map<Record*, SDNodeInfo> SDNodes;
std::map<Record*, std::pair<Record*, std::string> > SDNodeXForms;
std::map<Record*, ComplexPattern> ComplexPatterns;
@@ -472,6 +471,7 @@ private:
std::vector<Record*> &InstImpResults);
void GenerateCodeForPattern(PatternToMatch &Pattern,
std::vector<std::pair<bool, std::string> > &GeneratedCode,
+ std::set<std::string> &GeneratedDecl,
bool UseGoto);
void EmitPatterns(std::vector<std::pair<PatternToMatch*,
std::vector<std::pair<bool, std::string> > > > &Patterns,