//===--------------------- 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 IssuedInst, const InstRef &IR) { // 0 signifies that there are no hazards that need to be waited on return 0; } std::vector> CustomBehaviour::getStartViews(llvm::MCInstPrinter &IP, llvm::ArrayRef Insts) { return std::vector>(); } std::vector> CustomBehaviour::getPostInstrInfoViews(llvm::MCInstPrinter &IP, llvm::ArrayRef Insts) { return std::vector>(); } std::vector> CustomBehaviour::getEndViews(llvm::MCInstPrinter &IP, llvm::ArrayRef Insts) { return std::vector>(); } SharedInstrument InstrumentManager::createInstrument(llvm::StringRef Desc, llvm::StringRef Data) { return std::make_shared(Desc, Data); } unsigned InstrumentManager::getSchedClassID( const MCInstrInfo &MCII, const MCInst &MCI, const llvm::SmallVector &IVec) const { return MCII.get(MCI.getOpcode()).getSchedClass(); } } // namespace mca } // namespace llvm