diff options
Diffstat (limited to 'utils/TableGen/DAGISelMatcherEmitter.cpp')
| -rw-r--r-- | utils/TableGen/DAGISelMatcherEmitter.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/utils/TableGen/DAGISelMatcherEmitter.cpp b/utils/TableGen/DAGISelMatcherEmitter.cpp index 90ca1bff53443..cecbc6cccdff4 100644 --- a/utils/TableGen/DAGISelMatcherEmitter.cpp +++ b/utils/TableGen/DAGISelMatcherEmitter.cpp @@ -1,9 +1,8 @@ //===- DAGISelMatcherEmitter.cpp - Matcher Emitter ------------------------===// // -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // @@ -259,7 +258,7 @@ void MatcherTableEmitter::EmitPatternMatchTable(raw_ostream &OS) { OS << "\n};"; OS << "\nreturn StringRef(PATTERN_MATCH_TABLE[Index]);"; - OS << "\n}"; + OS << "\n}\n"; EndEmitFunction(OS); BeginEmitFunction(OS, "StringRef", "getIncludePathForIndex(unsigned Index)", @@ -273,7 +272,7 @@ void MatcherTableEmitter::EmitPatternMatchTable(raw_ostream &OS) { OS << "\n};"; OS << "\nreturn StringRef(INCLUDE_PATH_TABLE[Index]);"; - OS << "\n}"; + OS << "\n}\n"; EndEmitFunction(OS); } @@ -555,6 +554,11 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx, << cast<CheckCondCodeMatcher>(N)->getCondCodeName() << ",\n"; return 2; + case Matcher::CheckChild2CondCode: + OS << "OPC_CheckChild2CondCode, ISD::" + << cast<CheckChild2CondCodeMatcher>(N)->getCondCodeName() << ",\n"; + return 2; + case Matcher::CheckValueType: OS << "OPC_CheckValueType, MVT::" << cast<CheckValueTypeMatcher>(N)->getTypeName() << ",\n"; @@ -597,6 +601,14 @@ EmitMatcher(const Matcher *N, unsigned Indent, unsigned CurrentIdx, OS << "OPC_CheckFoldableChainNode,\n"; return 1; + case Matcher::CheckImmAllOnesV: + OS << "OPC_CheckImmAllOnesV,\n"; + return 1; + + case Matcher::CheckImmAllZerosV: + OS << "OPC_CheckImmAllZerosV,\n"; + return 1; + case Matcher::EmitInteger: { int64_t Val = cast<EmitIntegerMatcher>(N)->getValue(); OS << "OPC_EmitInteger, " @@ -996,12 +1008,15 @@ static StringRef getOpcodeString(Matcher::KindTy Kind) { case Matcher::CheckInteger: return "OPC_CheckInteger"; break; case Matcher::CheckChildInteger: return "OPC_CheckChildInteger"; break; case Matcher::CheckCondCode: return "OPC_CheckCondCode"; break; + case Matcher::CheckChild2CondCode: return "OPC_CheckChild2CondCode"; break; case Matcher::CheckValueType: return "OPC_CheckValueType"; break; case Matcher::CheckComplexPat: return "OPC_CheckComplexPat"; break; case Matcher::CheckAndImm: return "OPC_CheckAndImm"; break; case Matcher::CheckOrImm: return "OPC_CheckOrImm"; break; case Matcher::CheckFoldableChainNode: return "OPC_CheckFoldableChainNode"; break; + case Matcher::CheckImmAllOnesV: return "OPC_CheckImmAllOnesV"; break; + case Matcher::CheckImmAllZerosV: return "OPC_CheckImmAllZerosV"; break; case Matcher::EmitInteger: return "OPC_EmitInteger"; break; case Matcher::EmitStringInteger: return "OPC_EmitStringInteger"; break; case Matcher::EmitRegister: return "OPC_EmitRegister"; break; |
