LLVM  6.0.0svn
Functions | Variables
HexagonMCChecker.cpp File Reference
#include "MCTargetDesc/HexagonMCChecker.h"
#include "Hexagon.h"
#include "MCTargetDesc/HexagonBaseInfo.h"
#include "MCTargetDesc/HexagonMCInstrInfo.h"
#include "MCTargetDesc/HexagonMCShuffler.h"
#include "MCTargetDesc/HexagonMCTargetDesc.h"
#include "llvm/ADT/Twine.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/SourceMgr.h"
#include <cassert>
Include dependency graph for HexagonMCChecker.cpp:

Go to the source code of this file.

Functions

static bool isDuplexAGroup (unsigned Opcode)
 
static bool isNeitherAnorX (MCInstrInfo const &MCII, MCInst const &ID)
 

Variables

static cl::opt< boolRelaxNVChecks ("relax-nv-checks", cl::init(false), cl::ZeroOrMore, cl::Hidden, cl::desc("Relax checks of new-value validity"))
 

Function Documentation

◆ isDuplexAGroup()

static bool isDuplexAGroup ( unsigned  Opcode)
static

Definition at line 285 of file HexagonMCChecker.cpp.

Referenced by isNeitherAnorX().

◆ isNeitherAnorX()

static bool isNeitherAnorX ( MCInstrInfo const MCII,
MCInst const ID 
)
static

Definition at line 318 of file HexagonMCChecker.cpp.

References assert(), llvm::MCInst::begin(), llvm::HexagonMCInstrInfo::bundleInstructions(), llvm::HexagonMCInstrInfo::bundleInstructionsOffset, llvm::HexagonMCInstrInfo::bundleSize(), llvm::HexagonShuffler::check(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::count(), llvm::tgtok::Def, llvm::HexagonMCInstrInfo::getDesc(), llvm::MCOperand::getInst(), llvm::MCInst::getLoc(), llvm::MCRegisterInfo::getName(), llvm::MCInstrDesc::getNumDefs(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::HexagonMCInstrInfo::getType(), HEXAGON_PACKET_SIZE, HEXAGON_PRESHUFFLE_PACKET_SIZE, I, isBranch(), llvm::HexagonMCInstrInfo::isBundle(), llvm::HexagonMCInstrInfo::isCVINew(), llvm::HexagonMCInstrInfo::isDuplex(), isDuplexAGroup(), llvm::HexagonMCInstrInfo::isFloat(), llvm::HexagonMCInstrInfo::isImmext(), llvm::HexagonMCInstrInfo::isInnerLoop(), llvm::HexagonMCInstrInfo::isOuterLoop(), llvm::HexagonMCInstrInfo::isPredicated(), llvm::HexagonMCInstrInfo::isPredicatedNew(), llvm::MCOperand::isReg(), llvm::HexagonMCInstrInfo::isSolo(), llvm::HexagonMCInstrInfo::isSoloAX(), llvm::MCRegisterInfo::isSubRegister(), Register, RelaxNVChecks, llvm::HexagonMCChecker::reportError(), llvm::HexagonMCChecker::reportErrorNewValue(), llvm::HexagonMCChecker::reportErrorRegisters(), llvm::HexagonMCChecker::reportWarning(), llvm::MCInst::size(), llvm::FPOpFusion::Strict, llvm::HexagonII::TypeALU32_2op, llvm::HexagonII::TypeALU32_3op, llvm::HexagonII::TypeALU32_ADDI, llvm::HexagonII::TypeALU64, llvm::HexagonII::TypeCVI_HIST, llvm::HexagonII::TypeDUPLEX, llvm::HexagonII::TypeS_2op, and llvm::HexagonII::TypeS_3op.

Variable Documentation

◆ RelaxNVChecks

cl::opt<bool> RelaxNVChecks("relax-nv-checks", cl::init(false), cl::ZeroOrMore, cl::Hidden, cl::desc("Relax checks of new-value validity"))
static

Referenced by isNeitherAnorX().