LLVM 17.0.0git
|
The SI code emitter produces machine code that can be executed directly on the GPU device. More...
#include "MCTargetDesc/AMDGPUFixupKinds.h"
#include "MCTargetDesc/AMDGPUMCCodeEmitter.h"
#include "MCTargetDesc/AMDGPUMCTargetDesc.h"
#include "SIDefines.h"
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/ADT/APInt.h"
#include "llvm/MC/MCCodeEmitter.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Support/Casting.h"
#include <optional>
#include "AMDGPUGenMCCodeEmitter.inc"
Go to the source code of this file.
Functions | |
template<typename IntTy > | |
static uint32_t | getIntInlineImmEncoding (IntTy Imm) |
static uint32_t | getLit16IntEncoding (uint16_t Val, const MCSubtargetInfo &STI) |
static uint32_t | getLit16Encoding (uint16_t Val, const MCSubtargetInfo &STI) |
static uint32_t | getLit32Encoding (uint32_t Val, const MCSubtargetInfo &STI) |
static uint32_t | getLit64Encoding (uint64_t Val, const MCSubtargetInfo &STI) |
static bool | isVCMPX64 (const MCInstrDesc &Desc) |
static bool | needsPCRel (const MCExpr *Expr) |
The SI code emitter produces machine code that can be executed directly on the GPU device.
Definition in file SIMCCodeEmitter.cpp.
|
static |
Definition at line 98 of file SIMCCodeEmitter.cpp.
Referenced by getLit16Encoding(), getLit16IntEncoding(), getLit32Encoding(), and getLit64Encoding().
|
static |
Definition at line 113 of file SIMCCodeEmitter.cpp.
References getIntInlineImmEncoding(), and llvm::MCSubtargetInfo::hasFeature().
|
static |
Definition at line 108 of file SIMCCodeEmitter.cpp.
References getIntInlineImmEncoding().
|
static |
Definition at line 149 of file SIMCCodeEmitter.cpp.
References getIntInlineImmEncoding(), and llvm::MCSubtargetInfo::hasFeature().
|
static |
Definition at line 185 of file SIMCCodeEmitter.cpp.
References getIntInlineImmEncoding(), and llvm::MCSubtargetInfo::hasFeature().
|
static |
Definition at line 314 of file SIMCCodeEmitter.cpp.
References llvm::MCInstrDesc::hasImplicitDefOfPhysReg(), llvm::MCInstrDesc::TSFlags, and llvm::SIInstrFlags::VOP3.
Definition at line 517 of file SIMCCodeEmitter.cpp.
References llvm::MCExpr::Binary, llvm::MCExpr::Constant, llvm::MCExpr::getKind(), llvm_unreachable, needsPCRel(), llvm::MCBinaryExpr::Sub, llvm::MCExpr::SymbolRef, llvm::MCExpr::Target, llvm::MCExpr::Unary, llvm::MCSymbolRefExpr::VK_AMDGPU_ABS32_HI, and llvm::MCSymbolRefExpr::VK_AMDGPU_ABS32_LO.
Referenced by needsPCRel().