Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/MCA/CustomBehaviour.cpp
35260 views
1
//===--------------------- CustomBehaviour.cpp ------------------*- 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-exception
6
//
7
//===----------------------------------------------------------------------===//
8
/// \file
9
///
10
/// This file implements methods from the CustomBehaviour interface.
11
///
12
//===----------------------------------------------------------------------===//
13
14
#include "llvm/MCA/CustomBehaviour.h"
15
16
namespace llvm {
17
namespace mca {
18
19
CustomBehaviour::~CustomBehaviour() = default;
20
21
unsigned CustomBehaviour::checkCustomHazard(ArrayRef<InstRef> IssuedInst,
22
const InstRef &IR) {
23
// 0 signifies that there are no hazards that need to be waited on
24
return 0;
25
}
26
27
std::vector<std::unique_ptr<View>>
28
CustomBehaviour::getStartViews(llvm::MCInstPrinter &IP,
29
llvm::ArrayRef<llvm::MCInst> Insts) {
30
return std::vector<std::unique_ptr<View>>();
31
}
32
33
std::vector<std::unique_ptr<View>>
34
CustomBehaviour::getPostInstrInfoViews(llvm::MCInstPrinter &IP,
35
llvm::ArrayRef<llvm::MCInst> Insts) {
36
return std::vector<std::unique_ptr<View>>();
37
}
38
39
std::vector<std::unique_ptr<View>>
40
CustomBehaviour::getEndViews(llvm::MCInstPrinter &IP,
41
llvm::ArrayRef<llvm::MCInst> Insts) {
42
return std::vector<std::unique_ptr<View>>();
43
}
44
45
UniqueInstrument InstrumentManager::createInstrument(llvm::StringRef Desc,
46
llvm::StringRef Data) {
47
return std::make_unique<Instrument>(Desc, Data);
48
}
49
50
SmallVector<UniqueInstrument>
51
InstrumentManager::createInstruments(const MCInst &Inst) {
52
return SmallVector<UniqueInstrument>();
53
}
54
55
unsigned InstrumentManager::getSchedClassID(
56
const MCInstrInfo &MCII, const MCInst &MCI,
57
const llvm::SmallVector<Instrument *> &IVec) const {
58
return MCII.get(MCI.getOpcode()).getSchedClass();
59
}
60
61
} // namespace mca
62
} // namespace llvm
63
64