brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.2 KiB · 42a1ed3 Raw
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