diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-02-28 02:31:26 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-02-28 02:31:26 +0000 |
| commit | c3f80e08066cb69a5732e33a4176a4a40753c4fc (patch) | |
| tree | 5d973531c801e08458e0415cf0e793f1e1254ba8 /llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | |
| parent | e3385f566b5b7e24ba2f1f975e653a10a70d5859 (diff) | |
| download | bcm5719-llvm-c3f80e08066cb69a5732e33a4176a4a40753c4fc.tar.gz bcm5719-llvm-c3f80e08066cb69a5732e33a4176a4a40753c4fc.zip | |
add infrastructure to support forming selectnodeto. Not used yet
because I have to go on another detour first.
llvm-svn: 97362
Diffstat (limited to 'llvm/utils/TableGen/DAGISelMatcherEmitter.cpp')
| -rw-r--r-- | llvm/utils/TableGen/DAGISelMatcherEmitter.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp index 450a4575bf6..84e33f39235 100644 --- a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp +++ b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp @@ -389,9 +389,11 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx, return 3; } - case Matcher::EmitNode: { - const EmitNodeMatcher *EN = cast<EmitNodeMatcher>(N); - OS << "OPC_EmitNode, TARGET_OPCODE(" << EN->getOpcodeName() << "), 0"; + case Matcher::EmitNode: + case Matcher::SelectNodeTo: { + const EmitNodeMatcherCommon *EN = cast<EmitNodeMatcherCommon>(N); + OS << (EN->isSelectNodeTo() ? "OPC_EmitNode" : "OPC_SelectNodeTo"); + OS << ", TARGET_OPCODE(" << EN->getOpcodeName() << "), 0"; if (EN->hasChain()) OS << "|OPFL_Chain"; if (EN->hasFlag()) OS << "|OPFL_Flag"; @@ -564,6 +566,7 @@ void MatcherTableEmitter::EmitHistogram(formatted_raw_ostream &OS) { case Matcher::EmitMergeInputChains: OS << "OPC_EmitMergeInputChains"; break; case Matcher::EmitCopyToReg: OS << "OPC_EmitCopyToReg"; break; case Matcher::EmitNode: OS << "OPC_EmitNode"; break; + case Matcher::SelectNodeTo: OS << "OPC_SelectNodeTo"; break; case Matcher::EmitNodeXForm: OS << "OPC_EmitNodeXForm"; break; case Matcher::MarkFlagResults: OS << "OPC_MarkFlagResults"; break; case Matcher::CompleteMatch: OS << "OPC_CompleteMatch"; break; |

