diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h | 93 |
1 files changed, 38 insertions, 55 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h index 9a4bafef3a2..2529be928fb 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h +++ b/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h @@ -15,92 +15,75 @@ #ifndef LLVM_LIB_TARGET_AMDGPU_AMDGPUASMPRINTER_H #define LLVM_LIB_TARGET_AMDGPU_AMDGPUASMPRINTER_H -#include "AMDGPUMCInstLower.h" - +#include "llvm/ADT/StringRef.h" #include "llvm/CodeGen/AsmPrinter.h" +#include <cstddef> +#include <cstdint> +#include <limits> +#include <memory> +#include <string> #include <vector> namespace llvm { + class MCOperand; class AMDGPUAsmPrinter final : public AsmPrinter { private: struct SIProgramInfo { - SIProgramInfo() : - VGPRBlocks(0), - SGPRBlocks(0), - Priority(0), - FloatMode(0), - Priv(0), - DX10Clamp(0), - DebugMode(0), - IEEEMode(0), - ScratchSize(0), - ComputePGMRSrc1(0), - LDSBlocks(0), - ScratchBlocks(0), - ComputePGMRSrc2(0), - NumVGPR(0), - NumSGPR(0), - FlatUsed(false), - NumSGPRsForWavesPerEU(0), - NumVGPRsForWavesPerEU(0), - ReservedVGPRFirst(0), - ReservedVGPRCount(0), - DebuggerWavefrontPrivateSegmentOffsetSGPR((uint16_t)-1), - DebuggerPrivateSegmentBufferSGPR((uint16_t)-1), - VCCUsed(false), - CodeLen(0) {} - // Fields set in PGM_RSRC1 pm4 packet. - uint32_t VGPRBlocks; - uint32_t SGPRBlocks; - uint32_t Priority; - uint32_t FloatMode; - uint32_t Priv; - uint32_t DX10Clamp; - uint32_t DebugMode; - uint32_t IEEEMode; - uint32_t ScratchSize; - - uint64_t ComputePGMRSrc1; + uint32_t VGPRBlocks = 0; + uint32_t SGPRBlocks = 0; + uint32_t Priority = 0; + uint32_t FloatMode = 0; + uint32_t Priv = 0; + uint32_t DX10Clamp = 0; + uint32_t DebugMode = 0; + uint32_t IEEEMode = 0; + uint32_t ScratchSize = 0; + + uint64_t ComputePGMRSrc1 = 0; // Fields set in PGM_RSRC2 pm4 packet. - uint32_t LDSBlocks; - uint32_t ScratchBlocks; + uint32_t LDSBlocks = 0; + uint32_t ScratchBlocks = 0; - uint64_t ComputePGMRSrc2; + uint64_t ComputePGMRSrc2 = 0; - uint32_t NumVGPR; - uint32_t NumSGPR; + uint32_t NumVGPR = 0; + uint32_t NumSGPR = 0; uint32_t LDSSize; - bool FlatUsed; + bool FlatUsed = false; // Number of SGPRs that meets number of waves per execution unit request. - uint32_t NumSGPRsForWavesPerEU; + uint32_t NumSGPRsForWavesPerEU = 0; // Number of VGPRs that meets number of waves per execution unit request. - uint32_t NumVGPRsForWavesPerEU; + uint32_t NumVGPRsForWavesPerEU = 0; // If ReservedVGPRCount is 0 then must be 0. Otherwise, this is the first // fixed VGPR number reserved. - uint16_t ReservedVGPRFirst; + uint16_t ReservedVGPRFirst = 0; // The number of consecutive VGPRs reserved. - uint16_t ReservedVGPRCount; + uint16_t ReservedVGPRCount = 0; // Fixed SGPR number used to hold wave scratch offset for entire kernel // execution, or uint16_t(-1) if the register is not used or not known. - uint16_t DebuggerWavefrontPrivateSegmentOffsetSGPR; + uint16_t DebuggerWavefrontPrivateSegmentOffsetSGPR = + std::numeric_limits<uint16_t>::max(); // Fixed SGPR number of the first 4 SGPRs used to hold scratch V# for entire // kernel execution, or uint16_t(-1) if the register is not used or not // known. - uint16_t DebuggerPrivateSegmentBufferSGPR; + uint16_t DebuggerPrivateSegmentBufferSGPR = + std::numeric_limits<uint16_t>::max(); // Bonus information for debugging. - bool VCCUsed; - uint64_t CodeLen; + bool VCCUsed = false; + uint64_t CodeLen = 0; + + SIProgramInfo() = default; }; void getSIProgramInfo(SIProgramInfo &Out, const MachineFunction &MF) const; @@ -155,6 +138,6 @@ protected: size_t DisasmLineMaxLen; }; -} // End anonymous llvm +} // end namespace llvm -#endif +#endif // LLVM_LIB_TARGET_AMDGPU_AMDGPUASMPRINTER_H |