LLVM 20.0.0git
|
#include "AMDKernelCodeT.h"
#include "MCTargetDesc/AMDGPUInstPrinter.h"
#include "MCTargetDesc/AMDGPUMCExpr.h"
#include "MCTargetDesc/AMDGPUMCKernelDescriptor.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/CodeGenTypes/MachineValueType.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/MathExtras.h"
#include "llvm/TargetParser/TargetParser.h"
#include <optional>
#include "AMDGPUGenAsmMatcher.inc"
Go to the source code of this file.
Classes | |
struct | RegInfo |
Macros | |
#define | PARSE_BITS_ENTRY(FIELD, ENTRY, VALUE, RANGE) |
#define | EXPR_RESOLVE_OR_ERROR(RESOLVED) |
#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 |
Typedefs | |
using | OperandIndices = SmallVector< int16_t, MAX_SRC_OPERANDS_NUM > |
Variables | |
static constexpr RegInfo | RegularRegisters [] |
constexpr unsigned | MAX_SRC_OPERANDS_NUM = 6 |
constexpr uint64_t | MIMGFlags |
#define EXPR_RESOLVE_OR_ERROR | ( | RESOLVED | ) |
#define GET_ASSEMBLER_HEADER |
Definition at line 1311 of file AMDGPUAsmParser.cpp.
#define GET_MATCHER_IMPLEMENTATION |
Definition at line 9565 of file AMDGPUAsmParser.cpp.
#define GET_MNEMONIC_CHECKER |
Definition at line 9567 of file AMDGPUAsmParser.cpp.
#define GET_MNEMONIC_SPELL_CHECKER |
Definition at line 9566 of file AMDGPUAsmParser.cpp.
#define GET_REGISTER_MATCHER |
Definition at line 9564 of file AMDGPUAsmParser.cpp.
using OperandIndices = SmallVector<int16_t, MAX_SRC_OPERANDS_NUM> |
Definition at line 3657 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 6699 of file AMDGPUAsmParser.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), Default, Idx, and Operands.
|
static |
Definition at line 8856 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::getNamedOperandIdx(), and Operands.
|
static |
|
static |
|
static |
Definition at line 1983 of file AMDGPUAsmParser.cpp.
References llvm::APFloat::convert(), and getFltSemantics().
Definition at line 3705 of file AMDGPUAsmParser.cpp.
References llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::MCOperand::getReg(), llvm::MCOperand::isReg(), llvm::M0(), and llvm::AMDGPU::mc2PseudoReg().
|
static |
Definition at line 8410 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 8402 of file AMDGPUAsmParser.cpp.
References Mul.
|
static |
Definition at line 8523 of file AMDGPUAsmParser.cpp.
References assert(), llvm::SISrcMods::DST_OP_SEL, llvm::MCOperand::getImm(), llvm::AMDGPU::getNamedOperandIdx(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::DstOp::getReg(), llvm::AMDGPU::hasNamedOperand(), llvm::AMDGPU::isHi16Reg(), MRI, and llvm::MCOperand::setImm().
|
static |
Definition at line 7963 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 7127 of file AMDGPUAsmParser.cpp.
References decode(), llvm::encode(), and llvm::Failed().
Definition at line 3488 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPUAsmVariants::DEFAULT, llvm::AMDGPUAsmVariants::DPP, llvm::AMDGPUAsmVariants::SDWA, llvm::AMDGPUAsmVariants::SDWA9, llvm::AMDGPUAsmVariants::VOP3, and llvm::AMDGPUAsmVariants::VOP3_DPP.
|
static |
Definition at line 1923 of file AMDGPUAsmParser.cpp.
References getFltSemantics(), and llvm::MVT::getSizeInBits().
|
static |
Definition at line 1910 of file AMDGPUAsmParser.cpp.
References llvm_unreachable, and Size.
Referenced by canLosslesslyConvertToFPType(), and getFltSemantics().
|
static |
Definition at line 1927 of file AMDGPUAsmParser.cpp.
References llvm_unreachable, llvm::AMDGPU::OPERAND_INLINE_SPLIT_BARRIER_INT32, llvm::AMDGPU::OPERAND_KIMM16, llvm::AMDGPU::OPERAND_KIMM32, llvm::AMDGPU::OPERAND_REG_IMM_BF16, llvm::AMDGPU::OPERAND_REG_IMM_BF16_DEFERRED, llvm::AMDGPU::OPERAND_REG_IMM_FP16, llvm::AMDGPU::OPERAND_REG_IMM_FP16_DEFERRED, llvm::AMDGPU::OPERAND_REG_IMM_FP32, llvm::AMDGPU::OPERAND_REG_IMM_FP32_DEFERRED, llvm::AMDGPU::OPERAND_REG_IMM_FP64, llvm::AMDGPU::OPERAND_REG_IMM_INT16, llvm::AMDGPU::OPERAND_REG_IMM_INT32, llvm::AMDGPU::OPERAND_REG_IMM_INT64, llvm::AMDGPU::OPERAND_REG_IMM_V2BF16, llvm::AMDGPU::OPERAND_REG_IMM_V2FP16, llvm::AMDGPU::OPERAND_REG_IMM_V2FP32, llvm::AMDGPU::OPERAND_REG_IMM_V2INT16, llvm::AMDGPU::OPERAND_REG_IMM_V2INT32, llvm::AMDGPU::OPERAND_REG_INLINE_AC_BF16, llvm::AMDGPU::OPERAND_REG_INLINE_AC_FP16, llvm::AMDGPU::OPERAND_REG_INLINE_AC_FP32, llvm::AMDGPU::OPERAND_REG_INLINE_AC_FP64, llvm::AMDGPU::OPERAND_REG_INLINE_AC_INT16, llvm::AMDGPU::OPERAND_REG_INLINE_AC_INT32, llvm::AMDGPU::OPERAND_REG_INLINE_AC_V2BF16, llvm::AMDGPU::OPERAND_REG_INLINE_AC_V2FP16, llvm::AMDGPU::OPERAND_REG_INLINE_AC_V2INT16, llvm::AMDGPU::OPERAND_REG_INLINE_C_BF16, llvm::AMDGPU::OPERAND_REG_INLINE_C_FP16, llvm::AMDGPU::OPERAND_REG_INLINE_C_FP32, llvm::AMDGPU::OPERAND_REG_INLINE_C_FP64, llvm::AMDGPU::OPERAND_REG_INLINE_C_INT16, llvm::AMDGPU::OPERAND_REG_INLINE_C_INT32, llvm::AMDGPU::OPERAND_REG_INLINE_C_INT64, llvm::AMDGPU::OPERAND_REG_INLINE_C_V2BF16, llvm::AMDGPU::OPERAND_REG_INLINE_C_V2FP16, llvm::AMDGPU::OPERAND_REG_INLINE_C_V2FP32, llvm::AMDGPU::OPERAND_REG_INLINE_C_V2INT16, and llvm::AMDGPU::OPERAND_REG_INLINE_C_V2INT32.
|
static |
Definition at line 2509 of file AMDGPUAsmParser.cpp.
Definition at line 2773 of file AMDGPUAsmParser.cpp.
Definition at line 2766 of file AMDGPUAsmParser.cpp.
References RegularRegisters.
Definition at line 2622 of file AMDGPUAsmParser.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), and RegName.
|
static |
Definition at line 3661 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::getNamedOperandIdx(), and llvm::AMDGPU::isVOPD().
|
static |
Definition at line 4746 of file AMDGPUAsmParser.cpp.
References llvm::MCRegisterClass::contains(), llvm::AMDGPU::getNamedOperandIdx(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), and MRI.
Referenced by decodeAVLdSt().
Definition at line 2005 of file AMDGPUAsmParser.cpp.
References assert(), llvm::MVT::getScalarType(), llvm::AMDGPU::isInlinableLiteral32(), llvm::AMDGPU::isInlinableLiteralBF16(), and llvm::AMDGPU::isInlinableLiteralFP16().
|
static |
Definition at line 5262 of file AMDGPUAsmParser.cpp.
Definition at line 4067 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 8570 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::OPERAND_INPUT_MODS.
|
static |
Definition at line 2759 of file AMDGPUAsmParser.cpp.
Definition at line 4237 of file AMDGPUAsmParser.cpp.
Definition at line 2001 of file AMDGPUAsmParser.cpp.
References llvm::isIntN(), llvm::isUIntN(), and Size.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmParser | ( | ) |
Force static initialization.
Definition at line 9559 of file AMDGPUAsmParser.cpp.
References A, B, llvm::getTheGCNTarget(), and llvm::getTheR600Target().
|
constexpr |
Definition at line 3656 of file AMDGPUAsmParser.cpp.
|
constexpr |
Definition at line 3862 of file AMDGPUAsmParser.cpp.
|
staticconstexpr |
Definition at line 2751 of file AMDGPUAsmParser.cpp.
Referenced by getRegularRegInfo().