clang 22.0.0git
clang::CodeGen::CGHLSLRuntime Class Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h"

Classes

struct  SemanticInfo

Public Member Functions

 GENERATE_HLSL_INTRINSIC_FUNCTION (FlattenedThreadIdInGroup, flattened_thread_id_in_group) GENERATE_HLSL_INTRINSIC_FUNCTION(CreateResourceGetPointer
resource_getpointer GENERATE_HLSL_INTRINSIC_FUNCTION (CreateHandleFromBinding, resource_handlefrombinding) GENERATE_HLSL_INTRINSIC_FUNCTION(CreateHandleFromImplicitBinding
resource_getpointer resource_handlefromimplicitbinding GENERATE_HLSL_INTRINSIC_FUNCTION(GroupMemoryBarrierWithGroupSync, group_memory_barrier_with_group_sync) protected void collectInputSemantic (llvm::IRBuilder<> &B, const DeclaratorDecl *D, llvm::Type *Type, SmallVectorImpl< llvm::Value * > &Inputs)
llvm::Value * emitSystemSemanticLoad (llvm::IRBuilder<> &B, llvm::Type *Type, const clang::DeclaratorDecl *Decl, SemanticInfo &ActiveSemantic)
llvm::Value * handleScalarSemanticLoad (llvm::IRBuilder<> &B, llvm::Type *Type, const clang::DeclaratorDecl *Decl, SemanticInfo &ActiveSemantic)
llvm::Value * handleSemanticLoad (llvm::IRBuilder<> &B, llvm::Type *Type, const clang::DeclaratorDecl *Decl, SemanticInfo &ActiveSemantic)
 CGHLSLRuntime (CodeGenModule &CGM)
virtual ~CGHLSLRuntime ()
llvm::Type * convertHLSLSpecificType (const Type *T, SmallVector< int32_t > *Packoffsets=nullptr)
void generateGlobalCtorDtorCalls ()
void addBuffer (const HLSLBufferDecl *D)
void addRootSignature (const HLSLRootSignatureDecl *D)
void finishCodeGen ()
void setHLSLEntryAttributes (const FunctionDecl *FD, llvm::Function *Fn)
void emitEntryFunction (const FunctionDecl *FD, llvm::Function *Fn)
void setHLSLFunctionAttributes (const FunctionDecl *FD, llvm::Function *Fn)
void handleGlobalVarDefinition (const VarDecl *VD, llvm::GlobalVariable *Var)
llvm::Instruction * getConvergenceToken (llvm::BasicBlock &BB)
llvm::TargetExtType * getHLSLBufferLayoutType (const RecordType *LayoutStructTy)
void addHLSLBufferLayoutType (const RecordType *LayoutStructTy, llvm::TargetExtType *LayoutTy)
void emitInitListOpaqueValues (CodeGenFunction &CGF, InitListExpr *E)
std::optional< LValueemitResourceArraySubscriptExpr (const ArraySubscriptExpr *E, CodeGenFunction &CGF)

Detailed Description

Definition at line 84 of file CGHLSLRuntime.h.

Constructor & Destructor Documentation

◆ CGHLSLRuntime()

clang::CodeGen::CGHLSLRuntime::CGHLSLRuntime ( CodeGenModule & CGM)
inline

Definition at line 165 of file CGHLSLRuntime.h.

◆ ~CGHLSLRuntime()

virtual clang::CodeGen::CGHLSLRuntime::~CGHLSLRuntime ( )
inlinevirtual

Definition at line 166 of file CGHLSLRuntime.h.

Member Function Documentation

◆ addBuffer()

◆ addHLSLBufferLayoutType()

void CGHLSLRuntime::addHLSLBufferLayoutType ( const RecordType * LayoutStructTy,
llvm::TargetExtType * LayoutTy )

Definition at line 473 of file CGHLSLRuntime.cpp.

References getHLSLBufferLayoutType().

◆ addRootSignature()

◆ collectInputSemantic()

resource_getpointer resource_handlefromimplicitbinding GENERATE_HLSL_INTRINSIC_FUNCTION(GroupMemoryBarrierWithGroupSync, group_memory_barrier_with_group_sync) protected void clang::CodeGen::CGHLSLRuntime::collectInputSemantic ( llvm::IRBuilder<> & B,
const DeclaratorDecl * D,
llvm::Type * Type,
SmallVectorImpl< llvm::Value * > & Inputs )

◆ convertHLSLSpecificType()

llvm::Type * CGHLSLRuntime::convertHLSLSpecificType ( const Type * T,
SmallVector< int32_t > * Packoffsets = nullptr )

◆ emitEntryFunction()

◆ emitInitListOpaqueValues()

◆ emitResourceArraySubscriptExpr()

std::optional< LValue > CGHLSLRuntime::emitResourceArraySubscriptExpr ( const ArraySubscriptExpr * E,
CodeGenFunction & CGF )

◆ emitSystemSemanticLoad()

◆ finishCodeGen()

◆ GENERATE_HLSL_INTRINSIC_FUNCTION() [1/2]

resource_getpointer clang::CodeGen::CGHLSLRuntime::GENERATE_HLSL_INTRINSIC_FUNCTION ( CreateHandleFromBinding ,
resource_handlefrombinding  )

◆ GENERATE_HLSL_INTRINSIC_FUNCTION() [2/2]

clang::CodeGen::CGHLSLRuntime::GENERATE_HLSL_INTRINSIC_FUNCTION ( FlattenedThreadIdInGroup ,
flattened_thread_id_in_group  )

◆ generateGlobalCtorDtorCalls()

void CGHLSLRuntime::generateGlobalCtorDtorCalls ( )

◆ getConvergenceToken()

llvm::Instruction * CGHLSLRuntime::getConvergenceToken ( llvm::BasicBlock & BB)

◆ getHLSLBufferLayoutType()

llvm::TargetExtType * CGHLSLRuntime::getHLSLBufferLayoutType ( const RecordType * LayoutStructTy)

Definition at line 466 of file CGHLSLRuntime.cpp.

Referenced by addHLSLBufferLayoutType().

◆ handleGlobalVarDefinition()

void CGHLSLRuntime::handleGlobalVarDefinition ( const VarDecl * VD,
llvm::GlobalVariable * Var )

Definition at line 856 of file CGHLSLRuntime.cpp.

References addSPIRVBuiltinDecoration(), and clang::Decl::getAttr().

◆ handleScalarSemanticLoad()

◆ handleSemanticLoad()

llvm::Value * CGHLSLRuntime::handleSemanticLoad ( llvm::IRBuilder<> & B,
llvm::Type * Type,
const clang::DeclaratorDecl * Decl,
SemanticInfo & ActiveSemantic )

◆ setHLSLEntryAttributes()

void clang::CodeGen::CGHLSLRuntime::setHLSLEntryAttributes ( const FunctionDecl * FD,
llvm::Function * Fn )

◆ setHLSLFunctionAttributes()

void clang::CodeGen::CGHLSLRuntime::setHLSLFunctionAttributes ( const FunctionDecl * FD,
llvm::Function * Fn )

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