//===- PatternParser.h ------------------------------------------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// // /// \file Contains tools to parse MIR patterns from TableGen DAG elements. // //===----------------------------------------------------------------------===// #ifndef LLVM_UTILS_TABLEGEN_COMMON_GLOBALISEL_PATTERNPARSER_H #define LLVM_UTILS_TABLEGEN_COMMON_GLOBALISEL_PATTERNPARSER_H #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/STLFunctionalExtras.h" #include "llvm/ADT/SmallPtrSet.h" #include "llvm/Support/SMLoc.h" #include <memory> namespace llvm { class CodeGenTarget; class DagInit; class Init; class Record; class StringRef; class StringInit; namespace gi { class InstructionPattern; class Pattern; class PatFrag; /// Helper class to parse MIR Pattern lists. /// /// e.g., `(match (G_FADD $x, $y, $z), (G_FNEG $y, $z))` class PatternParser { … }; } // namespace gi } // namespace llvm #endif // LLVM_UTILS_TABLEGEN_COMMON_GLOBALISEL_PATTERNPARSER_H