summaryrefslogtreecommitdiff
path: root/utils/TableGen/DAGISelEmitter.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-29 04:25:26 +0000
committerChris Lattner <sabre@nondot.org>2006-01-29 04:25:26 +0000
commit8bc7472a0cce53ea3047da4fc4859eb6b34f8565 (patch)
treec2016abcfb6593d9839a9042ea3d87186b9a6554 /utils/TableGen/DAGISelEmitter.h
parentc7e1852d63429ec71cb507b12a607c30c17b2339 (diff)
downloadllvm-8bc7472a0cce53ea3047da4fc4859eb6b34f8565.tar.gz
llvm-8bc7472a0cce53ea3047da4fc4859eb6b34f8565.tar.bz2
llvm-8bc7472a0cce53ea3047da4fc4859eb6b34f8565.tar.xz
Factor matching code that is common between patterns. This works around
GCC not jump-threading across this common code, and produces far nicer output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25762 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/DAGISelEmitter.h')
-rw-r--r--utils/TableGen/DAGISelEmitter.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/utils/TableGen/DAGISelEmitter.h b/utils/TableGen/DAGISelEmitter.h
index 3d45f2156a..04a87b7ba4 100644
--- a/utils/TableGen/DAGISelEmitter.h
+++ b/utils/TableGen/DAGISelEmitter.h
@@ -470,8 +470,11 @@ private:
std::map<std::string, Record*> &InstResults,
std::vector<Record*> &InstImpInputs,
std::vector<Record*> &InstImpResults);
- void EmitCodeForPattern(PatternToMatch &Pattern,
+ void GenerateCodeForPattern(PatternToMatch &Pattern,
std::vector<std::pair<bool, std::string> > &GeneratedCode);
+ void EmitPatterns(std::vector<std::pair<PatternToMatch*,
+ std::vector<std::pair<bool, std::string> > > > &Patterns,
+ unsigned Indent, std::ostream &OS);
void EmitInstructionSelector(std::ostream &OS);
};