llvm/bolt/lib/Core/MCPlusBuilder.cpp

//===- bolt/Core/MCPlusBuilder.cpp - Interface for MCPlus -----------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
//
// This file implements the MCPlusBuilder class.
//
//===----------------------------------------------------------------------===//

#include "bolt/Core/MCPlusBuilder.h"
#include "bolt/Core/MCPlus.h"
#include "bolt/Utils/CommandLineOpts.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrAnalysis.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include <cstdint>

#define DEBUG_TYPE

usingnamespacellvm;
usingnamespacebolt;
usingnamespaceMCPlus;

namespace opts {
cl::opt<bool>
    TerminalTrap("terminal-trap",
                 cl::desc("Assume that execution stops at trap instruction"),
                 cl::init(true), cl::Hidden, cl::cat(BoltCategory));
}

bool MCPlusBuilder::equals(const MCInst &A, const MCInst &B,
                           CompFuncTy Comp) const {}

bool MCPlusBuilder::equals(const MCOperand &A, const MCOperand &B,
                           CompFuncTy Comp) const {}

bool MCPlusBuilder::equals(const MCExpr &A, const MCExpr &B,
                           CompFuncTy Comp) const {}

bool MCPlusBuilder::equals(const MCTargetExpr &A, const MCTargetExpr &B,
                           CompFuncTy Comp) const {}

bool MCPlusBuilder::isTerminator(const MCInst &Inst) const {}

void MCPlusBuilder::setTailCall(MCInst &Inst) const {}

bool MCPlusBuilder::isTailCall(const MCInst &Inst) const {}

std::optional<MCLandingPad> MCPlusBuilder::getEHInfo(const MCInst &Inst) const {}

void MCPlusBuilder::addEHInfo(MCInst &Inst, const MCLandingPad &LP) const {}

bool MCPlusBuilder::updateEHInfo(MCInst &Inst, const MCLandingPad &LP) const {}

int64_t MCPlusBuilder::getGnuArgsSize(const MCInst &Inst) const {}

void MCPlusBuilder::addGnuArgsSize(MCInst &Inst, int64_t GnuArgsSize) const {}

uint64_t MCPlusBuilder::getJumpTable(const MCInst &Inst) const {}

uint16_t MCPlusBuilder::getJumpTableIndexReg(const MCInst &Inst) const {}

bool MCPlusBuilder::setJumpTable(MCInst &Inst, uint64_t Value,
                                 uint16_t IndexReg, AllocatorIdTy AllocId) {}

bool MCPlusBuilder::unsetJumpTable(MCInst &Inst) const {}

std::optional<uint64_t>
MCPlusBuilder::getConditionalTailCall(const MCInst &Inst) const {}

bool MCPlusBuilder::setConditionalTailCall(MCInst &Inst, uint64_t Dest) const {}

bool MCPlusBuilder::unsetConditionalTailCall(MCInst &Inst) const {}

std::optional<uint32_t> MCPlusBuilder::getOffset(const MCInst &Inst) const {}

uint32_t MCPlusBuilder::getOffsetWithDefault(const MCInst &Inst,
                                             uint32_t Default) const {}

bool MCPlusBuilder::setOffset(MCInst &Inst, uint32_t Offset) const {}

bool MCPlusBuilder::clearOffset(MCInst &Inst) const {}

MCSymbol *MCPlusBuilder::getInstLabel(const MCInst &Inst) const {}

MCSymbol *MCPlusBuilder::getOrCreateInstLabel(MCInst &Inst, const Twine &Name,
                                              MCContext *Ctx) const {}

void MCPlusBuilder::setInstLabel(MCInst &Inst, MCSymbol *Label) const {}

std::optional<uint32_t> MCPlusBuilder::getSize(const MCInst &Inst) const {}

void MCPlusBuilder::setSize(MCInst &Inst, uint32_t Size) const {}

bool MCPlusBuilder::isDynamicBranch(const MCInst &Inst) const {}

std::optional<uint32_t>
MCPlusBuilder::getDynamicBranchID(const MCInst &Inst) const {}

void MCPlusBuilder::setDynamicBranch(MCInst &Inst, uint32_t ID) const {}

bool MCPlusBuilder::hasAnnotation(const MCInst &Inst, unsigned Index) const {}

bool MCPlusBuilder::removeAnnotation(MCInst &Inst, unsigned Index) const {}

void MCPlusBuilder::stripAnnotations(MCInst &Inst, bool KeepTC) const {}

void MCPlusBuilder::printAnnotations(const MCInst &Inst,
                                     raw_ostream &OS) const {}

void MCPlusBuilder::getClobberedRegs(const MCInst &Inst,
                                     BitVector &Regs) const {}

void MCPlusBuilder::getTouchedRegs(const MCInst &Inst, BitVector &Regs) const {}

void MCPlusBuilder::getWrittenRegs(const MCInst &Inst, BitVector &Regs) const {}

void MCPlusBuilder::getUsedRegs(const MCInst &Inst, BitVector &Regs) const {}

void MCPlusBuilder::getSrcRegs(const MCInst &Inst, BitVector &Regs) const {}

bool MCPlusBuilder::hasDefOfPhysReg(const MCInst &MI, unsigned Reg) const {}

bool MCPlusBuilder::hasUseOfPhysReg(const MCInst &MI, unsigned Reg) const {}

const BitVector &MCPlusBuilder::getAliases(MCPhysReg Reg,
                                           bool OnlySmaller) const {}

void MCPlusBuilder::initAliases() {}

void MCPlusBuilder::initSizeMap() {}

bool MCPlusBuilder::setOperandToSymbolRef(MCInst &Inst, int OpNum,
                                          const MCSymbol *Symbol,
                                          int64_t Addend, MCContext *Ctx,
                                          uint64_t RelType) const {}