LLVM 19.0.0git
|
#include "AMDKernelCodeT.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 9537 of file AMDGPUAsmParser.cpp.
#define GET_MNEMONIC_CHECKER |
Definition at line 9539 of file AMDGPUAsmParser.cpp.
#define GET_MNEMONIC_SPELL_CHECKER |
Definition at line 9538 of file AMDGPUAsmParser.cpp.
#define GET_REGISTER_MATCHER |
Definition at line 9536 of file AMDGPUAsmParser.cpp.
using OperandIndices = SmallVector<int16_t, MAX_SRC_OPERANDS_NUM> |
Definition at line 3643 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 6675 of file AMDGPUAsmParser.cpp.
References llvm::MCInst::addOperand(), llvm::MCOperand::createImm(), Default, Idx, and Operands.
|
static |
Definition at line 8790 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::getNamedOperandIdx(), and Operands.
|
static |
|
static |
|
static |
Definition at line 1975 of file AMDGPUAsmParser.cpp.
References llvm::APFloat::convert(), and getFltSemantics().
Definition at line 3693 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 8346 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 8338 of file AMDGPUAsmParser.cpp.
References Mul.
|
static |
Definition at line 8455 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::isHi(), MRI, and llvm::MCOperand::setImm().
|
static |
Definition at line 7899 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 7065 of file AMDGPUAsmParser.cpp.
References decode(), llvm::encode(), and llvm::Failed().
Definition at line 3474 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 1915 of file AMDGPUAsmParser.cpp.
References getFltSemantics(), and llvm::MVT::getSizeInBits().
|
static |
Definition at line 1902 of file AMDGPUAsmParser.cpp.
References llvm_unreachable, and Size.
Referenced by canLosslesslyConvertToFPType(), and getFltSemantics().
|
static |
Definition at line 1919 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 2492 of file AMDGPUAsmParser.cpp.
Definition at line 2756 of file AMDGPUAsmParser.cpp.
Definition at line 2749 of file AMDGPUAsmParser.cpp.
References RegularRegisters.
Definition at line 2605 of file AMDGPUAsmParser.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), and RegName.
|
static |
Definition at line 3647 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::getNamedOperandIdx(), and llvm::AMDGPU::isVOPD().
|
static |
Definition at line 4710 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 1997 of file AMDGPUAsmParser.cpp.
References assert(), llvm::MVT::getScalarType(), llvm::AMDGPU::isInlinableLiteral32(), llvm::AMDGPU::isInlinableLiteralBF16(), and llvm::AMDGPU::isInlinableLiteralFP16().
|
static |
Definition at line 5241 of file AMDGPUAsmParser.cpp.
Definition at line 4031 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 8502 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::OPERAND_INPUT_MODS.
|
static |
Definition at line 2742 of file AMDGPUAsmParser.cpp.
Definition at line 4201 of file AMDGPUAsmParser.cpp.
Definition at line 1993 of file AMDGPUAsmParser.cpp.
References llvm::isIntN(), llvm::isUIntN(), and Size.
LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmParser | ( | ) |
Force static initialization.
Definition at line 9531 of file AMDGPUAsmParser.cpp.
References A, B, llvm::getTheGCNTarget(), and llvm::getTheR600Target().
|
constexpr |
Definition at line 3642 of file AMDGPUAsmParser.cpp.
|
constexpr |
Definition at line 3850 of file AMDGPUAsmParser.cpp.
|
staticconstexpr |
Definition at line 2734 of file AMDGPUAsmParser.cpp.
Referenced by getRegularRegInfo().