LLVM  8.0.1
Public Member Functions | List of all members
llvm::HexagonMCChecker Class Reference

Check for a valid bundle. More...

#include "Target/Hexagon/MCTargetDesc/HexagonMCChecker.h"

Public Member Functions

 HexagonMCChecker (MCContext &Context, MCInstrInfo const &MCII, MCSubtargetInfo const &STI, MCInst &mcb, const MCRegisterInfo &ri, bool ReportErrors=true)
 
 HexagonMCChecker (HexagonMCChecker const &Check, MCSubtargetInfo const &STI, bool CopyReportErrors)
 
bool check (bool FullCheck=true)
 
void reportErrorRegisters (unsigned Register)
 
void reportErrorNewValue (unsigned Register)
 
void reportError (SMLoc Loc, Twine const &Msg)
 
void reportNote (SMLoc Loc, Twine const &Msg)
 
void reportError (Twine const &Msg)
 
void reportWarning (Twine const &Msg)
 
void reportBranchErrors ()
 

Detailed Description

Check for a valid bundle.

Definition at line 35 of file HexagonMCChecker.h.

Constructor & Destructor Documentation

◆ HexagonMCChecker() [1/2]

HexagonMCChecker::HexagonMCChecker ( MCContext Context,
MCInstrInfo const MCII,
MCSubtargetInfo const STI,
MCInst mcb,
const MCRegisterInfo ri,
bool  ReportErrors = true 
)
explicit

Definition at line 193 of file HexagonMCChecker.cpp.

◆ HexagonMCChecker() [2/2]

HexagonMCChecker::HexagonMCChecker ( HexagonMCChecker const Check,
MCSubtargetInfo const STI,
bool  CopyReportErrors 
)
explicit

Definition at line 201 of file HexagonMCChecker.cpp.

Member Function Documentation

◆ check()

bool HexagonMCChecker::check ( bool  FullCheck = true)

◆ reportBranchErrors()

void HexagonMCChecker::reportBranchErrors ( )

Definition at line 302 of file HexagonMCChecker.cpp.

References llvm::HexagonII::AbsoluteSet, assert(), llvm::MCID::Branch, llvm::HexagonMCInstrInfo::bundleInstructions(), llvm::HexagonMCInstrInfo::bundleSize(), llvm::HexagonShuffler::check(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::StringRef::empty(), llvm::HexagonMCInstrInfo::getAddrMode(), llvm::HexagonMCInstrInfo::getDesc(), llvm::MCInst::getLoc(), llvm::MCRegisterInfo::getName(), llvm::HexagonMCInstrInfo::getNewValueOperand(), llvm::MCInstrDesc::getNumDefs(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::HexagonMCInstrInfo::getType(), llvm::HexagonMCInstrInfo::hasTmpDst(), HEXAGON_PACKET_SIZE, I, llvm::MCInstrDesc::isBranch(), llvm::MCInstrDesc::isCall(), llvm::HexagonMCInstrInfo::isCofMax1(), llvm::HexagonMCInstrInfo::isCofRelax1(), llvm::HexagonMCInstrInfo::isCofRelax2(), llvm::HexagonMCInstrInfo::isCVINew(), llvm::HexagonMCInstrInfo::isDuplex(), llvm::HexagonMCInstrInfo::isFloat(), llvm::HexagonMCInstrInfo::isImmext(), llvm::HexagonMCInstrInfo::isInnerLoop(), llvm::HexagonMCInstrInfo::isNewValue(), llvm::HexagonMCInstrInfo::isOuterLoop(), llvm::MCOperand::isReg(), llvm::MCInstrDesc::isReturn(), llvm::HexagonMCInstrInfo::isSolo(), llvm::MCRegisterInfo::isSubRegister(), llvm::MCRegAliasIterator::isValid(), llvm::MCInstrDesc::mayLoad(), llvm::MCInstrDesc::mayStore(), Mode, N, llvm::MCInstrDesc::OpInfo, llvm::HexagonII::PostInc, llvm::HexagonMCInstrInfo::PredicateInfo::PredicatedTrue, llvm::HexagonMCInstrInfo::predicateInfo(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::MCOperandInfo::RegClass, Register, llvm::HexagonMCInstrInfo::PredicateInfo::Register, RelaxNVChecks, reportError(), reportErrorNewValue(), reportErrorRegisters(), reportNote(), reportWarning(), llvm::SmallVectorBase::size(), llvm::size(), llvm::HexagonII::TypeCVI_HIST, and llvm::HexagonII::TypeNCJ.

◆ reportError() [1/2]

void HexagonMCChecker::reportError ( SMLoc  Loc,
Twine const Msg 
)

◆ reportError() [2/2]

void HexagonMCChecker::reportError ( Twine const Msg)

Definition at line 713 of file HexagonMCChecker.cpp.

References llvm::MCInst::getLoc(), and reportError().

◆ reportErrorNewValue()

void HexagonMCChecker::reportErrorNewValue ( unsigned  Register)

Definition at line 707 of file HexagonMCChecker.cpp.

References llvm::MCRegisterInfo::getName(), and reportError().

Referenced by reportBranchErrors().

◆ reportErrorRegisters()

void HexagonMCChecker::reportErrorRegisters ( unsigned  Register)

Definition at line 702 of file HexagonMCChecker.cpp.

References llvm::MCRegisterInfo::getName(), and reportError().

Referenced by reportBranchErrors().

◆ reportNote()

void HexagonMCChecker::reportNote ( SMLoc  Loc,
llvm::Twine const Msg 
)

◆ reportWarning()

void HexagonMCChecker::reportWarning ( Twine const Msg)

The documentation for this class was generated from the following files: