29 static_cast<uint32_t>(dxbc::PSV::SemanticKind::Invalid);
31 static_cast<uint32_t>(dxbc::PSV::InterpolationMode::Invalid);
40 return makeError(
"expected integer operand " +
Twine(OpId));
41 return CI->getZExtValue();
48 enum class OpIdx :
unsigned {
64 const unsigned NumElementOperands =
to_underlying(OpIdx::LastEntry) + 1;
67 return makeError(
"signature element node is null");
68 if (
Node->getNumOperands() != NumElementOperands)
69 return makeError(
"signature element node has wrong number of operands");
75 return SigId.takeError();
81 return makeError(
"expected semantic name string");
89 return makeError(
"invalid component type");
97 return makeError(
"invalid semantic kind");
103 return makeError(
"expected semantic indices node");
104 for (
unsigned I = 0, E = Indices->getNumOperands();
I != E; ++
I) {
107 return Index.takeError();
116 return makeError(
"invalid interpolation mode");
121 return Rows.takeError();
126 return Cols.takeError();
128 return makeError(
"number of components per row must be within 1-4");
142 return makeError(
"start column must be within 0-3 or unallocated");
147 return makeError(
"start row and column sentinels must be set together");
154 return makeError(
"usage mask must be a 4-bit value");
162 return makeError(
"dynamic index mask must be a 4-bit value");
170 return makeError(
"geometry shader stream index must be within 0-3");
175 "number of semantic indices must equal the number of rows");
This file contains the declarations for the subclasses of Constant, which represent the different fla...
MachineInstr unsigned OpIdx
This file contains library features backported from future STL versions.
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
This is an important class for using LLVM in a threaded context.
static MDTuple * get(LLVMContext &Context, ArrayRef< Metadata * > MDs)
static LLVM_ABI MDString * get(LLVMContext &Context, StringRef Str)
void push_back(const T &Elt)
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
Twine - A lightweight data structure for efficiently representing the concatenation of temporary valu...
The instances of the Type class are immutable: once they are created, they are never changed.
static LLVM_ABI IntegerType * getInt32Ty(LLVMContext &C)
static LLVM_ABI IntegerType * getInt8Ty(LLVMContext &C)
ElementType
The element type of an SRV or UAV resource.
static constexpr uint32_t UnallocatedRow
static constexpr uint8_t UnallocatedCol
std::enable_if_t< detail::IsValidPointer< X, Y >::value, X * > dyn_extract_or_null(Y &&MD)
Extract a Value from Metadata, if any, allowing null.
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) dyn_cast(const From &Val)
dyn_cast<X> - Return the argument parameter cast to the specified type.
LLVM_ABI std::error_code inconvertibleErrorCode()
The value returned by this function can be returned from convertToErrorCode for Error values where no...
Error createStringError(std::error_code EC, char const *Fmt, const Ts &... Vals)
Create formatted StringError object.
constexpr std::underlying_type_t< Enum > to_underlying(Enum E)
Returns underlying integer value of an enum.
static LLVM_ABI Expected< SemanticSignatureElement > fromMetadata(const MDNode *Node)
SmallVector< uint32_t > SemanticIndices
dxil::ElementType CompType
dxbc::PSV::SemanticKind SemanticKind
dxbc::PSV::InterpolationMode InterpMode
LLVM_ABI MDNode * toMetadata(LLVMContext &Ctx) const