| 
    clang 22.0.0git
    
   | 
 
#include "/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGHLSLRuntime.h"
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 (NonUniformResourceIndex, resource_nonuniformindex) GENERATE_HLSL_INTRINSIC_FUNCTION(GroupMemoryBarrierWithGroupSync | 
| 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< LValue > | emitResourceArraySubscriptExpr (const ArraySubscriptExpr *E, CodeGenFunction &CGF) | 
Protected Member Functions | |
| llvm::Value * | emitSystemSemanticLoad (llvm::IRBuilder<> &B, llvm::Type *Type, const clang::DeclaratorDecl *Decl, Attr *Semantic, std::optional< unsigned > Index) | 
| llvm::Value * | handleScalarSemanticLoad (llvm::IRBuilder<> &B, const FunctionDecl *FD, llvm::Type *Type, const clang::DeclaratorDecl *Decl) | 
| llvm::Value * | handleStructSemanticLoad (llvm::IRBuilder<> &B, const FunctionDecl *FD, llvm::Type *Type, const clang::DeclaratorDecl *Decl) | 
| llvm::Value * | handleSemanticLoad (llvm::IRBuilder<> &B, const FunctionDecl *FD, llvm::Type *Type, const clang::DeclaratorDecl *Decl) | 
Protected Attributes | |
| CodeGenModule & | CGM | 
Definition at line 84 of file CGHLSLRuntime.h.
      
  | 
  inline | 
Definition at line 167 of file CGHLSLRuntime.h.
References CGHLSLRuntime(), and CGM.
Referenced by CGHLSLRuntime().
      
  | 
  inlinevirtual | 
Definition at line 168 of file CGHLSLRuntime.h.
| void CGHLSLRuntime::addBuffer | ( | const HLSLBufferDecl * | D | ) | 
Definition at line 409 of file CGHLSLRuntime.cpp.
References clang::cast(), CGM, convertHLSLSpecificType(), createBufferHandleType(), fillPackoffsetLayout(), clang::NamedDecl::getName(), clang::HLSLBufferDecl::hasValidPackoffset(), and clang::HLSLBufferDecl::isCBuffer().
Referenced by clang::CodeGen::CodeGenModule::EmitTopLevelDecl().
| void CGHLSLRuntime::addHLSLBufferLayoutType | ( | const RecordType * | LayoutStructTy, | 
| llvm::TargetExtType * | LayoutTy ) | 
Definition at line 465 of file CGHLSLRuntime.cpp.
References getHLSLBufferLayoutType().
| void CGHLSLRuntime::addRootSignature | ( | const HLSLRootSignatureDecl * | D | ) | 
Definition at line 444 of file CGHLSLRuntime.cpp.
References CGM, clang::HLSLRootSignatureDecl::getRootElements(), clang::HLSLRootSignatureDecl::getVersion(), and clang::T.
Referenced by clang::CodeGen::CodeGenModule::EmitTopLevelDecl().
| llvm::Type * CGHLSLRuntime::convertHLSLSpecificType | ( | const Type * | T, | 
| SmallVector< int32_t > * | Packoffsets = nullptr ) | 
Definition at line 263 of file CGHLSLRuntime.cpp.
References CGM, clang::T, and clang::CodeGen::Type.
Referenced by addBuffer().
| void CGHLSLRuntime::emitEntryFunction | ( | const FunctionDecl * | FD, | 
| llvm::Function * | Fn ) | 
Definition at line 664 of file CGHLSLRuntime.cpp.
References CGM, clang::Function, clang::Decl::getAttr(), clang::Decl::getAttrs(), clang::NamedDecl::getName(), clang::FunctionDecl::getParamDecl(), handleSemanticLoad(), and setHLSLEntryAttributes().
| void CGHLSLRuntime::emitInitListOpaqueValues | ( | CodeGenFunction & | CGF, | 
| InitListExpr * | E ) | 
| std::optional< LValue > CGHLSLRuntime::emitResourceArraySubscriptExpr | ( | const ArraySubscriptExpr * | E, | 
| CodeGenFunction & | CGF ) | 
Definition at line 946 of file CGHLSLRuntime.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::cast(), CGM, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::CreateMemTemp(), clang::CodeGen::Decl, clang::CodeGen::AggValueSlot::DoesNotNeedGCBarriers, clang::CodeGen::AggValueSlot::DoesNotOverlap, clang::CodeGen::CodeGenFunction::EmitLifetimeStart(), clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CodeGen::AggValueSlot::forAddr(), clang::Type::getAsCXXRecordDecl(), clang::Decl::getASTContext(), clang::ArraySubscriptExpr::getBase(), clang::ASTContext::getBaseElementType(), clang::ASTContext::getConstantArrayElementCount(), clang::ArraySubscriptExpr::getExprLoc(), clang::ArraySubscriptExpr::getIdx(), clang::NamedDecl::getName(), clang::CodeGen::RawAddress::getPointer(), clang::Expr::getType(), clang::ValueDecl::getType(), clang::QualType::getTypePtr(), clang::hlsl::ResourceBindingAttrs::hasBinding(), clang::VarDecl::hasGlobalStorage(), clang::Expr::IgnoreParenImpCasts(), clang::Type::isArrayType(), clang::Type::isHLSLResourceRecord(), clang::Type::isHLSLResourceRecordArray(), clang::CodeGen::CodeGenFunction::MakeAddrLValue(), clang::CodeGen::NormalEHLifetimeMarker, clang::CodeGen::CodeGenFunction::pushFullExprCleanup(), and clang::CodeGen::Type.
      
  | 
  protected | 
Definition at line 565 of file CGHLSLRuntime.cpp.
References buildVectorInput(), CGM, createSPIRVBuiltinLoad(), clang::CodeGen::Decl, clang::isa(), and clang::CodeGen::Type.
Referenced by handleScalarSemanticLoad().
| void CGHLSLRuntime::finishCodeGen | ( | ) | 
Definition at line 472 of file CGHLSLRuntime.cpp.
References CGM, generateGlobalCtorDtorCalls(), and clang::T.
Referenced by clang::CodeGen::CodeGenModule::Release().
| resource_getpointer clang::CodeGen::CGHLSLRuntime::GENERATE_HLSL_INTRINSIC_FUNCTION | ( | CreateHandleFromBinding | , | 
| resource_handlefrombinding | ) | 
References GENERATE_HLSL_INTRINSIC_FUNCTION().
| clang::CodeGen::CGHLSLRuntime::GENERATE_HLSL_INTRINSIC_FUNCTION | ( | FlattenedThreadIdInGroup | , | 
| flattened_thread_id_in_group | ) | 
References GENERATE_HLSL_INTRINSIC_FUNCTION(), isinf(), isnan(), normalize(), radians(), rsqrt(), sign(), and step().
Referenced by GENERATE_HLSL_INTRINSIC_FUNCTION(), GENERATE_HLSL_INTRINSIC_FUNCTION(), and GENERATE_HLSL_INTRINSIC_FUNCTION().
| resource_getpointer resource_handlefromimplicitbinding clang::CodeGen::CGHLSLRuntime::GENERATE_HLSL_INTRINSIC_FUNCTION | ( | NonUniformResourceIndex | , | 
| resource_nonuniformindex | ) | 
References GENERATE_HLSL_INTRINSIC_FUNCTION().
| void CGHLSLRuntime::generateGlobalCtorDtorCalls | ( | ) | 
Definition at line 771 of file CGHLSLRuntime.cpp.
References CGM, gatherFunctions(), getConvergenceToken(), and clang::T.
Referenced by finishCodeGen().
| llvm::Instruction * CGHLSLRuntime::getConvergenceToken | ( | llvm::BasicBlock & | BB | ) | 
Definition at line 885 of file CGHLSLRuntime.cpp.
References CGM.
Referenced by generateGlobalCtorDtorCalls().
| llvm::TargetExtType * CGHLSLRuntime::getHLSLBufferLayoutType | ( | const RecordType * | LayoutStructTy | ) | 
Definition at line 458 of file CGHLSLRuntime.cpp.
Referenced by addHLSLBufferLayoutType().
| void CGHLSLRuntime::handleGlobalVarDefinition | ( | const VarDecl * | VD, | 
| llvm::GlobalVariable * | Var ) | 
Definition at line 879 of file CGHLSLRuntime.cpp.
References addSPIRVBuiltinDecoration(), and clang::Decl::getAttr().
      
  | 
  protected | 
Definition at line 612 of file CGHLSLRuntime.cpp.
References clang::CodeGen::Decl, emitSystemSemanticLoad(), clang::HLSLSemanticAttr::getSemanticIndex(), clang::HLSLSemanticAttr::isSemanticIndexExplicit(), clang::Decl::specific_attrs(), and clang::CodeGen::Type.
Referenced by handleSemanticLoad().
      
  | 
  protected | 
Definition at line 656 of file CGHLSLRuntime.cpp.
References clang::CodeGen::Decl, handleScalarSemanticLoad(), handleStructSemanticLoad(), and clang::CodeGen::Type.
Referenced by emitEntryFunction(), and handleStructSemanticLoad().
      
  | 
  protected | 
Definition at line 633 of file CGHLSLRuntime.cpp.
References clang::Aggregate, clang::cast(), clang::CodeGen::Decl, clang::RecordDecl::field_begin(), clang::RecordDecl::field_end(), handleSemanticLoad(), and clang::CodeGen::Type.
Referenced by handleSemanticLoad().
| void clang::CodeGen::CGHLSLRuntime::setHLSLEntryAttributes | ( | const FunctionDecl * | FD, | 
| llvm::Function * | Fn ) | 
Definition at line 493 of file CGHLSLRuntime.cpp.
References CGM, and clang::Decl::getAttr().
Referenced by emitEntryFunction().
| void clang::CodeGen::CGHLSLRuntime::setHLSLFunctionAttributes | ( | const FunctionDecl * | FD, | 
| llvm::Function * | Fn ) | 
      
  | 
  protected | 
Definition at line 145 of file CGHLSLRuntime.h.
Referenced by addBuffer(), addRootSignature(), CGHLSLRuntime(), convertHLSLSpecificType(), emitEntryFunction(), emitResourceArraySubscriptExpr(), emitSystemSemanticLoad(), finishCodeGen(), generateGlobalCtorDtorCalls(), getConvergenceToken(), and setHLSLEntryAttributes().