LLVM: llvm::dxil::DXILOpBuilder Class Reference (original) (raw)

#include "[Target/DirectX/DXILOpBuilder.h](DXILOpBuilder%5F8h%5Fsource.html)"

Public Member Functions
DXILOpBuilder (Module &M)
IRBuilder & getIRB ()
CallInst * createOp (dxil::OpCode Op, ArrayRef< Value * > Args, const Twine &Name="", Type *RetTy=nullptr)
Create a call instruction for the given DXIL op.
Expected< CallInst * > tryCreateOp (dxil::OpCode Op, ArrayRef< Value * > Args, const Twine &Name="", Type *RetTy=nullptr)
Try to create a call instruction for the given DXIL op.
StructType * getResRetType (Type *ElementTy)
Get a dx.types.ResRet type with the given element type.
StructType * getCBufRetType (Type *ElementTy)
Get a dx.types.CBufRet type with the given element type.
StructType * getHandleType ()
Get the dx.types.Handle type.
Constant * getResBind (uint32_t LowerBound, uint32_t UpperBound, uint32_t SpaceID, dxil::ResourceClass RC)
Get a constant dx.types.ResBind value.
Constant * getResProps (uint32_t Word0, uint32_t Word1)
Get a constant dx.types.ResourceProperties value.

Definition at line 33 of file DXILOpBuilder.h.

llvm::dxil::DXILOpBuilder::DXILOpBuilder ( Module & M )

createOp()

getCBufRetType()

StructType * llvm::dxil::DXILOpBuilder::getCBufRetType ( Type * ElementTy )

Get a dx.types.CBufRet type with the given element type.

Definition at line 590 of file DXILOpBuilder.cpp.

getHandleType()

StructType * llvm::dxil::DXILOpBuilder::getHandleType ( )

getIRB()

IRBuilder & llvm::dxil::DXILOpBuilder::getIRB ( ) inline

getOpCodeName()

getResBind()

getResProps()

getResRetType()

StructType * llvm::dxil::DXILOpBuilder::getResRetType ( Type * ElementTy )

Get a dx.types.ResRet type with the given element type.

Definition at line 586 of file DXILOpBuilder.cpp.

tryCreateOp()

Try to create a call instruction for the given DXIL op.

Fails if the overload is invalid.

Definition at line 501 of file DXILOpBuilder.cpp.

References llvm::SmallVectorImpl< T >::append(), llvm::ArrayRef(), constructOverloadName(), getDXILOpFunctionType(), getOverloadKind(), getPropIndex(), getShaderKindEnum(), llvm::dxil::makeOpError(), OpCodeProperty::OverloadParamIndex, OpCodeProperty::Overloads, llvm::SmallVectorTemplateBase< T, bool >::push_back(), setDXILAttributes(), OpCodeProperty::Stages, and llvm::to_underlying().

Referenced by createOp().


The documentation for this class was generated from the following files: