38 lines · c
1//===-- SerialSnippetGenerator.h --------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8///9/// \file10/// A SnippetGenerator implementation to create serial instruction snippets.11///12//===----------------------------------------------------------------------===//13 14#ifndef LLVM_TOOLS_LLVM_EXEGESIS_SERIALSNIPPETGENERATOR_H15#define LLVM_TOOLS_LLVM_EXEGESIS_SERIALSNIPPETGENERATOR_H16 17#include "Error.h"18#include "MCInstrDescView.h"19#include "SnippetGenerator.h"20 21namespace llvm {22namespace exegesis {23 24class SerialSnippetGenerator : public SnippetGenerator {25public:26 using SnippetGenerator::SnippetGenerator;27 ~SerialSnippetGenerator() override;28 29 Expected<std::vector<CodeTemplate>>30 generateCodeTemplates(InstructionTemplate Variant,31 const BitVector &ForbiddenRegisters) const override;32};33 34} // namespace exegesis35} // namespace llvm36 37#endif // LLVM_TOOLS_LLVM_EXEGESIS_SERIALSNIPPETGENERATOR_H38