| //===--------------------- CustomBehaviour.cpp ------------------*- 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 |
| /// |
| /// This file implements methods from the CustomBehaviour interface. |
| /// |
| //===----------------------------------------------------------------------===// |
| |
| #include "llvm/MCA/CustomBehaviour.h" |
| |
| namespace llvm { |
| namespace mca { |
| |
| CustomBehaviour::~CustomBehaviour() = default; |
| |
| unsigned CustomBehaviour::checkCustomHazard(ArrayRef<InstRef> IssuedInst, |
| const InstRef &IR) { |
| // 0 signifies that there are no hazards that need to be waited on |
| return 0; |
| } |
| |
| std::vector<std::unique_ptr<View>> |
| CustomBehaviour::getStartViews(llvm::MCInstPrinter &IP, |
| llvm::ArrayRef<llvm::MCInst> Insts) { |
| return std::vector<std::unique_ptr<View>>(); |
| } |
| |
| std::vector<std::unique_ptr<View>> |
| CustomBehaviour::getPostInstrInfoViews(llvm::MCInstPrinter &IP, |
| llvm::ArrayRef<llvm::MCInst> Insts) { |
| return std::vector<std::unique_ptr<View>>(); |
| } |
| |
| std::vector<std::unique_ptr<View>> |
| CustomBehaviour::getEndViews(llvm::MCInstPrinter &IP, |
| llvm::ArrayRef<llvm::MCInst> Insts) { |
| return std::vector<std::unique_ptr<View>>(); |
| } |
| |
| SharedInstrument InstrumentManager::createInstrument(llvm::StringRef Desc, |
| llvm::StringRef Data) { |
| return std::make_shared<Instrument>(Desc, Data); |
| } |
| |
| unsigned InstrumentManager::getSchedClassID( |
| const MCInstrInfo &MCII, const MCInst &MCI, |
| const llvm::SmallVector<SharedInstrument> &IVec) const { |
| return MCII.get(MCI.getOpcode()).getSchedClass(); |
| } |
| |
| } // namespace mca |
| } // namespace llvm |