LLVM
15.0.0git
|
#include "AMDKernelCodeT.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "MCTargetDesc/AMDGPUTargetStreamer.h"
#include "SIDefines.h"
#include "SIInstrInfo.h"
#include "SIRegisterInfo.h"
#include "TargetInfo/AMDGPUTargetInfo.h"
#include "Utils/AMDGPUAsmUtils.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "Utils/AMDKernelCodeTUtils.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/Twine.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCInstrDesc.h"
#include "llvm/MC/MCParser/MCAsmLexer.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCParsedAsmOperand.h"
#include "llvm/MC/MCParser/MCTargetAsmParser.h"
#include "llvm/MC/MCSymbol.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/AMDGPUMetadata.h"
#include "llvm/Support/AMDHSAKernelDescriptor.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/MachineValueType.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/TargetParser.h"
#include "AMDGPUGenAsmMatcher.inc"
Go to the source code of this file.
Classes | |
struct | RegInfo |
Macros | |
#define | PARSE_BITS_ENTRY(FIELD, ENTRY, VALUE, RANGE) |
#define | GET_REGISTER_MATCHER |
#define | GET_MATCHER_IMPLEMENTATION |
#define | GET_MNEMONIC_SPELL_CHECKER |
#define | GET_MNEMONIC_CHECKER |
Auto-generated Match Functions | |
{ | |
#define | GET_ASSEMBLER_HEADER |
Functions | |
static const fltSemantics * | getFltSemantics (unsigned Size) |
static const fltSemantics * | getFltSemantics (MVT VT) |
static const fltSemantics * | getOpFltSemantics (uint8_t OperandType) |
static bool | canLosslesslyConvertToFPType (APFloat &FPLiteral, MVT VT) |
static bool | isSafeTruncation (int64_t Val, unsigned Size) |
static bool | isInlineableLiteralOp16 (int64_t Val, MVT VT, bool HasInv2Pi) |
static bool | isInlineValue (unsigned Reg) |
static int | getRegClass (RegisterKind Is, unsigned RegWidth) |
static unsigned | getSpecialRegForName (StringRef RegName) |
static bool | isRegularReg (RegisterKind Kind) |
static const RegInfo * | getRegularRegInfo (StringRef Str) |
static bool | getRegNum (StringRef Str, unsigned &Num) |
static ArrayRef< unsigned > | getAllVariants () |
static bool | IsMovrelsSDWAOpcode (const unsigned Opcode) |
static bool | IsRevOpcode (const unsigned Opcode) |
static int | IsAGPROperand (const MCInst &Inst, uint16_t NameIdx, const MCRegisterInfo *MRI) |
static std::string | AMDGPUMnemonicSpellCheck (StringRef S, const FeatureBitset &FBS, unsigned VariantID=0) |
static bool | AMDGPUCheckMnemonic (StringRef Mnemonic, const FeatureBitset &AvailableFeatures, unsigned VariantID) |
static void | applyMnemonicAliases (StringRef &Mnemonic, const FeatureBitset &Features, unsigned VariantID) |
static void | addOptionalImmOperand (MCInst &Inst, const OperandVector &Operands, AMDGPUAsmParser::OptionalImmIndexMap &OptionalIdx, AMDGPUOperand::ImmTy ImmT, int64_t Default=0) |
static bool | encodeCnt (const AMDGPU::IsaVersion ISA, int64_t &IntVal, int64_t CntVal, bool Saturate, unsigned(*encode)(const IsaVersion &Version, unsigned, unsigned), unsigned(*decode)(const IsaVersion &Version, unsigned)) |
static LLVM_READNONE unsigned | encodeBitmaskPerm (const unsigned AndMask, const unsigned OrMask, const unsigned XorMask) |
static bool | ConvertOmodMul (int64_t &Mul) |
static bool | ConvertOmodDiv (int64_t &Div) |
static bool | ConvertBoundCtrl (int64_t &BoundCtrl) |
static bool | isRegOrImmWithInputMods (const MCInstrDesc &Desc, unsigned OpNum) |
LLVM_EXTERNAL_VISIBILITY void | LLVMInitializeAMDGPUAsmParser () |
Force static initialization. More... | |
Variables | |
static constexpr RegInfo | RegularRegisters [] |
static const OptionalOperand | AMDGPUOptionalOperandTable [] |
#define GET_ASSEMBLER_HEADER |
Definition at line 1253 of file AMDGPUAsmParser.cpp.
#define GET_MATCHER_IMPLEMENTATION |
Definition at line 9112 of file AMDGPUAsmParser.cpp.
#define GET_MNEMONIC_CHECKER |
Definition at line 9114 of file AMDGPUAsmParser.cpp.
#define GET_MNEMONIC_SPELL_CHECKER |
Definition at line 9113 of file AMDGPUAsmParser.cpp.
#define GET_REGISTER_MATCHER |
Definition at line 9111 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 5984 of file AMDGPUAsmParser.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), i, and Operands.
|
static |
|
static |
|
static |
Definition at line 1883 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 7873 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 7856 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 7848 of file AMDGPUAsmParser.cpp.
References Mul.
|
static |
Definition at line 7202 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::Swizzle::BITMASK_AND_SHIFT, llvm::AMDGPU::Swizzle::BITMASK_OR_SHIFT, llvm::AMDGPU::Swizzle::BITMASK_PERM_ENC, and llvm::AMDGPU::Swizzle::BITMASK_XOR_SHIFT.
|
static |
Definition at line 6397 of file AMDGPUAsmParser.cpp.
References decode(), llvm::encode(), llvm::Failed(), and llvm::tgtok::IntVal.
|
static |
Definition at line 3261 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPUAsmVariants::DEFAULT, llvm::AMDGPUAsmVariants::DPP, llvm::makeArrayRef(), llvm::AMDGPUAsmVariants::SDWA, llvm::AMDGPUAsmVariants::SDWA9, llvm::AMDGPUAsmVariants::VOP3, and llvm::AMDGPUAsmVariants::VOP3_DPP.
|
static |
Definition at line 1834 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 1821 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 1838 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 2327 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::EncValues::IS_VGPR.
|
static |
Definition at line 2569 of file AMDGPUAsmParser.cpp.
Definition at line 2562 of file AMDGPUAsmParser.cpp.
References RegularRegisters.
|
static |
Definition at line 2416 of file AMDGPUAsmParser.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), llvm::M0(), and RegName.
|
static |
Definition at line 4291 of file AMDGPUAsmParser.cpp.
References llvm::MCRegisterClass::contains(), llvm::AMDGPU::getNamedOperandIdx(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MachineRegisterInfo::getRegClass(), and MRI.
|
static |
Definition at line 1905 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 2300 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 3717 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 8051 of file AMDGPUAsmParser.cpp.
References llvm::MCInstrDesc::getOperandConstraint(), llvm::MCInstrDesc::NumOperands, llvm::AMDGPU::OPERAND_INPUT_MODS, llvm::MCOperandInfo::OperandType, llvm::MCInstrDesc::OpInfo, llvm::MCOperandInfo::RegClass, and llvm::MCOI::TIED_TO.
|
static |
Definition at line 2555 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::EncValues::IS_VGPR.
|
static |
Definition at line 3883 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 1901 of file AMDGPUAsmParser.cpp.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmParser | ( | ) |
Force static initialization.
Definition at line 9106 of file AMDGPUAsmParser.cpp.
References B, llvm::getTheAMDGPUTarget(), and llvm::getTheGCNTarget().
|
static |
Definition at line 7882 of file AMDGPUAsmParser.cpp.
|
staticconstexpr |
Definition at line 2547 of file AMDGPUAsmParser.cpp.
Referenced by getRegularRegInfo().