diff options
author | Chris Lattner <sabre@nondot.org> | 2006-01-29 04:25:26 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-01-29 04:25:26 +0000 |
commit | 8bc7472a0cce53ea3047da4fc4859eb6b34f8565 (patch) | |
tree | c2016abcfb6593d9839a9042ea3d87186b9a6554 /utils/TableGen/DAGISelEmitter.h | |
parent | c7e1852d63429ec71cb507b12a607c30c17b2339 (diff) | |
download | llvm-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.h | 5 |
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); }; |