#ifndef LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPUASMUTILS_H
#define LLVM_LIB_TARGET_AMDGPU_UTILS_AMDGPUASMUTILS_H
#include "SIDefines.h"
#include "llvm/ADT/StringRef.h"
namespace llvm {
class StringLiteral;
class MCSubtargetInfo;
namespace AMDGPU {
const int OPR_ID_UNKNOWN = …;
const int OPR_ID_UNSUPPORTED = …;
const int OPR_ID_DUPLICATE = …;
const int OPR_VAL_INVALID = …;
struct CustomOperand { … };
struct CustomOperandVal { … };
namespace DepCtr {
extern const CustomOperandVal DepCtrInfo[];
extern const int DEP_CTR_SIZE;
}
namespace SendMsg {
int64_t getMsgId(StringRef Name, const MCSubtargetInfo &STI);
StringRef getMsgName(uint64_t Encoding, const MCSubtargetInfo &STI);
int64_t getMsgOpId(int64_t MsgId, StringRef Name, const MCSubtargetInfo &STI);
StringRef getMsgOpName(int64_t MsgId, uint64_t Encoding,
const MCSubtargetInfo &STI);
}
namespace Hwreg {
int64_t getHwregId(StringRef Name, const MCSubtargetInfo &STI);
StringRef getHwreg(uint64_t Encoding, const MCSubtargetInfo &STI);
}
namespace MTBUFFormat {
extern StringLiteral const DfmtSymbolic[];
extern StringLiteral const NfmtSymbolicGFX10[];
extern StringLiteral const NfmtSymbolicSICI[];
extern StringLiteral const NfmtSymbolicVI[];
extern StringLiteral const UfmtSymbolicGFX10[];
extern StringLiteral const UfmtSymbolicGFX11[];
extern unsigned const DfmtNfmt2UFmtGFX10[];
extern unsigned const DfmtNfmt2UFmtGFX11[];
}
namespace Swizzle {
extern const char* const IdSymbolic[];
}
namespace VGPRIndexMode {
extern const char* const IdSymbolic[];
}
namespace UCVersion {
struct GFXVersion { … };
ArrayRef<GFXVersion> getGFXVersions();
}
}
}
#endif