|
LLVM 22.0.0git
|
#include "AMDKernelCodeT.h"#include "MCTargetDesc/AMDGPUInstPrinter.h"#include "MCTargetDesc/AMDGPUMCAsmInfo.h"#include "MCTargetDesc/AMDGPUMCExpr.h"#include "MCTargetDesc/AMDGPUMCKernelDescriptor.h"#include "MCTargetDesc/AMDGPUMCTargetDesc.h"#include "MCTargetDesc/AMDGPUTargetStreamer.h"#include "SIDefines.h"#include "SIInstrInfo.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/AsmLexer.h"#include "llvm/MC/MCParser/MCAsmParser.h"#include "llvm/MC/MCParser/MCParsedAsmOperand.h"#include "llvm/MC/MCParser/MCTargetAsmParser.h"#include "llvm/MC/MCRegisterInfo.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/Compiler.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 | GET_REGISTER_MATCHER |
| #define | PARSE_BITS_ENTRY(FIELD, ENTRY, VALUE, RANGE) |
| #define | EXPR_RESOLVE_OR_ERROR(RESOLVED) |
| #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 1355 of file AMDGPUAsmParser.cpp.
| #define GET_MATCHER_IMPLEMENTATION |
Definition at line 10414 of file AMDGPUAsmParser.cpp.
| #define GET_MNEMONIC_CHECKER |
Definition at line 10416 of file AMDGPUAsmParser.cpp.
| #define GET_MNEMONIC_SPELL_CHECKER |
Definition at line 10415 of file AMDGPUAsmParser.cpp.
| #define GET_REGISTER_MATCHER |
Definition at line 1250 of file AMDGPUAsmParser.cpp.
| using OperandIndices = SmallVector<int16_t, MAX_SRC_OPERANDS_NUM> |
Definition at line 3773 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 7255 of file AMDGPUAsmParser.cpp.
References llvm::MCInst::addOperand(), llvm::MCInst::begin(), llvm::MCOperand::createImm(), Default, and llvm::MCInst::insert().
|
static |
Definition at line 9682 of file AMDGPUAsmParser.cpp.
References Opc, and llvm::AMDGPU::Hwreg::Operands.
|
static |
|
static |
|
static |
References llvm::AsmToken::EndOfStatement, Info, and Mode.
Definition at line 2059 of file AMDGPUAsmParser.cpp.
References llvm::APFloat::convert(), getFltSemantics(), llvm::APFloatBase::opOK, llvm::APFloatBase::opOverflow, llvm::APFloatBase::opUnderflow, and llvm::APFloatBase::rmNearestTiesToEven.
Definition at line 3822 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 9067 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 9059 of file AMDGPUAsmParser.cpp.
References Mul.
|
static |
Definition at line 9180 of file AMDGPUAsmParser.cpp.
References AbstractManglingParser< Derived, Alloc >::Ops, assert(), llvm::SISrcMods::DST_OP_SEL, llvm::MCOperand::getImm(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), llvm::DstOp::getReg(), llvm::AMDGPU::hasNamedOperand(), llvm::AMDGPU::isHi16Reg(), MRI, Opc, and llvm::MCOperand::setImm().
|
static |
Definition at line 8568 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 7752 of file AMDGPUAsmParser.cpp.
References decode(), llvm::encode(), and llvm::Failed().
Definition at line 3609 of file AMDGPUAsmParser.cpp.
References llvm::ArrayRef(), llvm::AMDGPUAsmVariants::DEFAULT, llvm::AMDGPUAsmVariants::DPP, llvm::AMDGPUAsmVariants::SDWA, llvm::AMDGPUAsmVariants::SDWA9, llvm::AMDGPUAsmVariants::VOP3, and llvm::AMDGPUAsmVariants::VOP3_DPP.
|
static |
Definition at line 2008 of file AMDGPUAsmParser.cpp.
References getFltSemantics(), and llvm::MVT::getSizeInBits().
|
static |
Definition at line 1995 of file AMDGPUAsmParser.cpp.
References llvm::APFloatBase::IEEEdouble(), llvm::APFloatBase::IEEEhalf(), llvm::APFloatBase::IEEEsingle(), llvm_unreachable, and Size.
Referenced by canLosslesslyConvertToFPType(), and getFltSemantics().
|
static |
Definition at line 2012 of file AMDGPUAsmParser.cpp.
References llvm::APFloatBase::BFloat(), llvm::APFloatBase::IEEEdouble(), llvm::APFloatBase::IEEEhalf(), llvm::APFloatBase::IEEEsingle(), llvm_unreachable, llvm::AMDGPU::OPERAND_INLINE_SPLIT_BARRIER_INT32, llvm::AMDGPU::OPERAND_KIMM16, llvm::AMDGPU::OPERAND_KIMM32, llvm::AMDGPU::OPERAND_KIMM64, llvm::AMDGPU::OPERAND_REG_IMM_BF16, llvm::AMDGPU::OPERAND_REG_IMM_FP16, llvm::AMDGPU::OPERAND_REG_IMM_FP32, 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_NOINLINE_V2FP16, 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_FP32, llvm::AMDGPU::OPERAND_REG_INLINE_AC_FP64, llvm::AMDGPU::OPERAND_REG_INLINE_AC_INT32, 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, and llvm::AMDGPU::OPERAND_REG_INLINE_C_V2INT16.
|
static |
Definition at line 2582 of file AMDGPUAsmParser.cpp.
Definition at line 2848 of file AMDGPUAsmParser.cpp.
Definition at line 2841 of file AMDGPUAsmParser.cpp.
References Reg, and RegularRegisters.
|
static |
Definition at line 2695 of file AMDGPUAsmParser.cpp.
References llvm::StringSwitch< T, R >::Case(), llvm::StringSwitch< T, R >::Default(), and RegName.
|
static |
Definition at line 3777 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::isVOPD().
|
static |
Definition at line 5135 of file AMDGPUAsmParser.cpp.
References llvm::MCRegisterClass::contains(), llvm::MCInst::getOpcode(), llvm::MCInst::getOperand(), MRI, OpIdx, Reg, and llvm::Sub.
Definition at line 2081 of file AMDGPUAsmParser.cpp.
References assert(), llvm::MVT::getScalarType(), llvm::AMDGPU::isInlinableLiteral32(), llvm::AMDGPU::isInlinableLiteralBF16(), and llvm::AMDGPU::isInlinableLiteralFP16().
|
static |
Definition at line 5743 of file AMDGPUAsmParser.cpp.
References assert(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Definition at line 4300 of file AMDGPUAsmParser.cpp.
|
static |
Definition at line 9226 of file AMDGPUAsmParser.cpp.
References llvm::AMDGPU::OPERAND_INPUT_MODS, and llvm::MCOI::TIED_TO.
|
static |
Definition at line 2834 of file AMDGPUAsmParser.cpp.
Definition at line 4509 of file AMDGPUAsmParser.cpp.
Definition at line 2077 of file AMDGPUAsmParser.cpp.
References llvm::isIntN(), llvm::isUIntN(), and Size.
| LLVM_ABI LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmParser | ( | ) |
Force static initialization.
Definition at line 10409 of file AMDGPUAsmParser.cpp.
References A(), B(), llvm::getTheGCNTarget(), and llvm::getTheR600Target().
|
constexpr |
Definition at line 3772 of file AMDGPUAsmParser.cpp.
|
constexpr |
Definition at line 4098 of file AMDGPUAsmParser.cpp.
|
staticconstexpr |
Definition at line 2826 of file AMDGPUAsmParser.cpp.
Referenced by getRegularRegInfo().