109467b48Spatrick //===- MCInstrAnalysis.cpp - InstrDesc target hooks -----------------------===//
209467b48Spatrick //
309467b48Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
409467b48Spatrick // See https://llvm.org/LICENSE.txt for license information.
509467b48Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
609467b48Spatrick //
709467b48Spatrick //===----------------------------------------------------------------------===//
809467b48Spatrick
909467b48Spatrick #include "llvm/MC/MCInstrAnalysis.h"
1009467b48Spatrick
1109467b48Spatrick #include "llvm/ADT/APInt.h"
1209467b48Spatrick #include <cstdint>
1309467b48Spatrick
14*d415bd75Srobert namespace llvm {
15*d415bd75Srobert class MCSubtargetInfo;
16*d415bd75Srobert }
17*d415bd75Srobert
1809467b48Spatrick using namespace llvm;
1909467b48Spatrick
clearsSuperRegisters(const MCRegisterInfo & MRI,const MCInst & Inst,APInt & Writes) const2009467b48Spatrick bool MCInstrAnalysis::clearsSuperRegisters(const MCRegisterInfo &MRI,
2109467b48Spatrick const MCInst &Inst,
2209467b48Spatrick APInt &Writes) const {
2309467b48Spatrick Writes.clearAllBits();
2409467b48Spatrick return false;
2509467b48Spatrick }
2609467b48Spatrick
evaluateBranch(const MCInst &,uint64_t,uint64_t,uint64_t &) const27097a140dSpatrick bool MCInstrAnalysis::evaluateBranch(const MCInst & /*Inst*/, uint64_t /*Addr*/,
28097a140dSpatrick uint64_t /*Size*/,
29097a140dSpatrick uint64_t & /*Target*/) const {
3009467b48Spatrick return false;
3109467b48Spatrick }
3209467b48Spatrick
evaluateMemoryOperandAddress(const MCInst & Inst,const MCSubtargetInfo * STI,uint64_t Addr,uint64_t Size) const33*d415bd75Srobert std::optional<uint64_t> MCInstrAnalysis::evaluateMemoryOperandAddress(
34*d415bd75Srobert const MCInst &Inst, const MCSubtargetInfo *STI, uint64_t Addr,
3509467b48Spatrick uint64_t Size) const {
36*d415bd75Srobert return std::nullopt;
37*d415bd75Srobert }
38*d415bd75Srobert
39*d415bd75Srobert std::optional<uint64_t>
getMemoryOperandRelocationOffset(const MCInst & Inst,uint64_t Size) const40*d415bd75Srobert MCInstrAnalysis::getMemoryOperandRelocationOffset(const MCInst &Inst,
41*d415bd75Srobert uint64_t Size) const {
42*d415bd75Srobert return std::nullopt;
4309467b48Spatrick }
44