//===- AsmWriterInst.h - Classes encapsulating a printable inst -----------===// // // 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 // //===----------------------------------------------------------------------===// // // These classes implement a parser for assembly strings. // //===----------------------------------------------------------------------===// #include "AsmWriterInst.h" #include "CodeGenInstruction.h" #include "llvm/ADT/StringExtras.h" #include "llvm/TableGen/Error.h" #include "llvm/TableGen/Record.h" usingnamespacellvm; static bool isIdentChar(char C) { … } std::string AsmWriterOperand::getCode(bool PassSubtarget) const { … } /// ParseAsmString - Parse the specified Instruction's AsmString into this /// AsmWriterInst. /// AsmWriterInst::AsmWriterInst(const CodeGenInstruction &CGI, unsigned CGIIndex, unsigned Variant) : … { … } /// MatchesAllButOneOp - If this instruction is exactly identical to the /// specified instruction except for one differing operand, return the differing /// operand number. If more than one operand mismatches, return ~1, otherwise /// if the instructions are identical return ~0. unsigned AsmWriterInst::MatchesAllButOneOp(const AsmWriterInst &Other) const { … }