|
clang 24.0.0git
|
#include "clang/Sema/SemaHLSL.h"#include "clang/AST/ASTConsumer.h"#include "clang/AST/ASTContext.h"#include "clang/AST/Attr.h"#include "clang/AST/Decl.h"#include "clang/AST/DeclBase.h"#include "clang/AST/DeclCXX.h"#include "clang/AST/DeclarationName.h"#include "clang/AST/DynamicRecursiveASTVisitor.h"#include "clang/AST/Expr.h"#include "clang/AST/HLSLResource.h"#include "clang/AST/Type.h"#include "clang/AST/TypeBase.h"#include "clang/AST/TypeLoc.h"#include "clang/Basic/Builtins.h"#include "clang/Basic/DiagnosticSema.h"#include "clang/Basic/IdentifierTable.h"#include "clang/Basic/LLVM.h"#include "clang/Basic/SourceLocation.h"#include "clang/Basic/Specifiers.h"#include "clang/Basic/TargetInfo.h"#include "clang/Sema/Initialization.h"#include "clang/Sema/Lookup.h"#include "clang/Sema/ParsedAttr.h"#include "clang/Sema/Sema.h"#include "clang/Sema/Template.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallVector.h"#include "llvm/ADT/StringExtras.h"#include "llvm/ADT/StringRef.h"#include "llvm/ADT/Twine.h"#include "llvm/Frontend/HLSL/HLSLBinding.h"#include "llvm/Frontend/HLSL/RootSignatureValidations.h"#include "llvm/Support/Casting.h"#include "llvm/Support/DXILABI.h"#include "llvm/Support/ErrorHandling.h"#include "llvm/Support/FormatVariadic.h"#include "llvm/TargetParser/Triple.h"#include <cmath>#include <cstddef>#include <iterator>#include <utility>Go to the source code of this file.
Typedefs | |
| using | SemanticKind = llvm::dxbc::PSV::SemanticKind |
| using | RegisterType = HLSLResourceBindingAttr::RegisterType |
Enumerations | |
| enum class | SampleKind { Sample , Bias , Grad , Level , Cmp , CmpLevelZero } |
| using RegisterType = HLSLResourceBindingAttr::RegisterType |
Definition at line 60 of file SemaHLSL.cpp.
| using SemanticKind = llvm::dxbc::PSV::SemanticKind |
Definition at line 59 of file SemaHLSL.cpp.
|
strong |
| Enumerator | |
|---|---|
| Sample | |
| Bias | |
| Grad | |
| Level | |
| Cmp | |
| CmpLevelZero | |
Definition at line 3720 of file SemaHLSL.cpp.
|
static |
Definition at line 2455 of file SemaHLSL.cpp.
References AccumulateHLSLResourceSlots(), clang::RecordDecl::fields(), clang::QualType::getCanonicalType(), clang::ArrayType::getElementType(), clang::ConstantArrayType::getSize(), clang::QualType::getTypePtr(), and clang::T.
Referenced by AccumulateHLSLResourceSlots(), and ValidateRegisterNumber().
|
static |
Definition at line 680 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::Sema::getASTContext(), and uint32_t.
Referenced by clang::SemaHLSL::ActOnEndOfTranslationUnit(), clang::SemaHLSL::ActOnFinishBuffer(), and clang::SemaHLSL::ActOnVariableDeclarator().
|
static |
Definition at line 4908 of file SemaHLSL.cpp.
References BuildFlattenedTypeList(), clang::RecordDecl::fields(), clang::ArrayType::getElementType(), clang::ValueDecl::getType(), clang::ConstantArrayType::getZExtSize(), clang::TagDecl::isUnion(), and clang::T.
Referenced by BuildFlattenedTypeList(), clang::SemaHLSL::CanPerformAggregateSplatCast(), clang::SemaHLSL::CanPerformElementwiseCast(), and clang::SemaHLSL::IsScalarizedLayoutCompatible().
|
static |
Definition at line 262 of file SemaHLSL.cpp.
References calculateLegacyCbufferFieldAlign(), and clang::T.
Referenced by calculateLegacyCbufferFieldAlign(), and calculateLegacyCbufferSize().
|
static |
Definition at line 281 of file SemaHLSL.cpp.
References calculateLegacyCbufferFieldAlign(), calculateLegacyCbufferSize(), and clang::T.
Referenced by calculateLegacyCbufferSize(), and validatePackoffset().
|
static |
Definition at line 1169 of file SemaHLSL.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), and clang::Sema::ImpCastExprToType().
Referenced by handleFloatVectorBinOpConversion(), and handleIntegerVectorBinOpConversion().
|
static |
Definition at line 1161 of file SemaHLSL.cpp.
References clang::ActionResult< PtrTy, Compress >::get(), clang::Type::getAs(), clang::Sema::getASTContext(), clang::ASTContext::getExtVectorType(), and clang::Sema::ImpCastExprToType().
Referenced by clang::SemaHLSL::handleVectorBinOpConversion().
Definition at line 3279 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Sema::getASTContext(), clang::CallExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::CallExpr::getDirectCallee(), clang::Stmt::getEndLoc(), clang::CallExpr::getNumArgs(), clang::Expr::getType(), and clang::ASTContext::hasSameUnqualifiedType().
|
static |
Definition at line 3306 of file SemaHLSL.cpp.
References clang::CallExpr::getArg(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), and clang::Expr::getType().
|
static |
Definition at line 3349 of file SemaHLSL.cpp.
References clang::Type::castAs(), clang::SemaBase::Diag(), clang::Type::isMatrixType(), and clang::Type::isVectorType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3517 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), and clang::Expr::getType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3381 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::QualType::getAddressSpace(), clang::CallExpr::getArg(), clang::Stmt::getBeginLoc(), clang::Expr::getType(), and clang::Expr::IgnoreCasts().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3296 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::Sema::getASTContext(), clang::Stmt::getBeginLoc(), clang::Expr::getType(), and clang::ASTContext::hasSameUnqualifiedType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3565 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::CallExpr::getBeginLoc(), clang::CallExpr::getNumArgs(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::ASTContext::hasSameUnqualifiedType(), and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3845 of file SemaHLSL.cpp.
References clang::Sema::checkArgCount(), CheckTextureSamplerAndLocation(), clang::Sema::Context, clang::ASTContext::FloatTy, and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3440 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Sema::getASTContext(), clang::Stmt::getBeginLoc(), clang::CharUnits::getQuantity(), clang::Expr::getType(), and clang::ASTContext::getTypeSizeInChars().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3406 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::Type::hasFloatingRepresentation(), and clang::Type::hasIntegerRepresentation().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3333 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), and clang::Type::getAs().
|
static |
Definition at line 3319 of file SemaHLSL.cpp.
References clang::Type::castAs(), clang::SemaBase::Diag(), and clang::Type::isVectorType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3858 of file SemaHLSL.cpp.
References clang::Type::castAs(), clang::Sema::checkArgCountRange(), CheckNoDoubleElementType(), CheckTextureSamplerAndLocation(), CheckVectorElementCount(), clang::Sema::Context, clang::SemaBase::Diag(), clang::ASTContext::FloatTy, clang::CallExpr::getArg(), clang::Type::getAs(), clang::Sema::getASTContext(), clang::CallExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::ASTContext::getExtVectorType(), clang::Expr::getIntegerConstantExpr(), clang::CallExpr::getNumArgs(), clang::hlsl::getResourceDimensions(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::Expr::getType(), clang::Type::hasFloatingRepresentation(), clang::ASTContext::IntTy, clang::Type::isFloatingType(), clang::Type::isIntegerType(), clang::Type::isVectorType(), clang::Expr::setType(), and clang::ASTContext::UnsignedIntTy.
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3629 of file SemaHLSL.cpp.
References clang::cast(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Stmt::getBeginLoc(), clang::CallExpr::getCalleeDecl(), clang::CallExpr::getNumArgs(), clang::hlsl::getResourceDimensions(), clang::Expr::getType(), clang::QualType::getTypePtr(), and clang::Type::isIntegerType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3784 of file SemaHLSL.cpp.
References Cmp, CmpLevelZero, clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getBeginLoc(), getCurrentResourceMethodName(), clang::TargetInfo::getPlatformMinVersion(), getSampleMethodName(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), getTypedResourceElementType(), clang::Type::isBooleanType(), and clang::Type::isIntegerType().
Referenced by CheckSamplingBuiltin().
Definition at line 3946 of file SemaHLSL.cpp.
References clang::Type::castAs(), clang::Sema::checkArgCount(), clang::Sema::checkArgCountRange(), CheckResourceHandle(), CheckVectorElementCount(), clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), clang::hlsl::getResourceDimensions(), clang::Expr::getType(), clang::ASTContext::IntTy, clang::Type::isIntegerType(), and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 4002 of file SemaHLSL.cpp.
References clang::Type::castAs(), clang::Sema::checkArgCountRange(), CheckResourceHandle(), CheckVectorElementCount(), clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), clang::hlsl::getResourceDimensions(), clang::Expr::getType(), clang::ASTContext::IntTy, clang::Type::isIntegerType(), and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3368 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), and clang::Expr::MLV_Valid.
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3769 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::CallExpr::getBeginLoc(), getCurrentResourceMethodName(), getTypedResourceElementType(), and clang::Type::isSpecificBuiltinType().
Referenced by CheckGatherBuiltin(), and CheckSamplingBuiltin().
|
static |
Definition at line 3393 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), and clang::Type::getAs().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3535 of file SemaHLSL.cpp.
References clang::ASTContext::BoolTy, clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Sema::getASTContext(), clang::Stmt::getBeginLoc(), clang::Expr::getType(), and clang::ASTContext::hasSameUnqualifiedType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall(), CheckWaveActive(), and CheckWavePrefix().
|
static |
Definition at line 3667 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Stmt::getBeginLoc(), clang::Expr::getExprLoc(), clang::CallExpr::getNumArgs(), clang::Expr::getType(), and clang::QualType::getTypePtr().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall(), CheckLoadLevelBuiltin(), CheckLoadMSBuiltin(), and CheckTextureSamplerAndLocation().
|
static |
Definition at line 4045 of file SemaHLSL.cpp.
References Bias, clang::Type::castAs(), clang::Sema::checkArgCountRange(), CheckIntegerElementTypeShaderModel(), CheckNoDoubleElementType(), CheckTextureSamplerAndLocation(), CheckVectorElementCount(), Cmp, CmpLevelZero, clang::Sema::Context, clang::SemaBase::Diag(), clang::ASTContext::FloatTy, clang::CallExpr::getArg(), clang::CallExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), clang::hlsl::getResourceDimensions(), getSampleMethodName(), clang::Expr::getType(), Grad, clang::Type::hasFloatingRepresentation(), clang::hlsl::hasResourceOffset(), clang::ASTContext::IntTy, clang::Type::isFloatingType(), clang::Type::isVectorType(), Level, Sample, and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3470 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), clang::Expr::getType(), and clang::ASTContext::hasSameUnqualifiedType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3487 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Stmt::getBeginLoc(), clang::CallExpr::getNumArgs(), clang::Expr::getType(), and clang::ASTContext::hasSameUnqualifiedType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3812 of file SemaHLSL.cpp.
References clang::Type::castAs(), CheckResourceHandle(), CheckVectorElementCount(), clang::Sema::Context, clang::ASTContext::FloatTy, clang::CallExpr::getArg(), clang::CallExpr::getBeginLoc(), clang::hlsl::getResourceDimensions(), and clang::Expr::getType().
Referenced by CheckCalculateLodBuiltin(), CheckGatherBuiltin(), and CheckSamplingBuiltin().
|
static |
Definition at line 3430 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), and clang::Type::hasUnsignedIntegerRepresentation().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3417 of file SemaHLSL.cpp.
References clang::SemaBase::Diag(), and clang::Type::getAs().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 3703 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::Type::getAs(), and clang::ASTContext::getExtVectorType().
Referenced by CheckGatherBuiltin(), CheckLoadLevelBuiltin(), CheckLoadMSBuiltin(), CheckSamplingBuiltin(), and CheckTextureSamplerAndLocation().
Definition at line 3581 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::Sema::getASTContext(), clang::CallExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::CallExpr::getCallee(), clang::ASTContext::getExtVectorType(), clang::CallExpr::getNumArgs(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::ASTContext::hasSameUnqualifiedType(), clang::Type::isVectorType(), and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3553 of file SemaHLSL.cpp.
References CheckNotBoolScalarOrVector().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 3559 of file SemaHLSL.cpp.
References CheckNotBoolScalarOrVector().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
Definition at line 6353 of file SemaHLSL.cpp.
References containsIncompleteArrayType(), clang::RecordDecl::fields(), clang::Type::getAs(), clang::QualType::getCanonicalType(), clang::ArrayType::getElementType(), and clang::isa().
Referenced by containsIncompleteArrayType(), and clang::SemaHLSL::transformInitList().
|
static |
Definition at line 98 of file SemaHLSL.cpp.
Referenced by clang::SemaHLSL::handleResourceBindingAttr().
|
static |
Definition at line 3690 of file SemaHLSL.cpp.
References clang::Type::getAs(), clang::ASTContext::getHLSLAttributedResourceType(), and clang::Type::isHLSLAttributedResourceType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 544 of file SemaHLSL.cpp.
References clang::AS_public, clang::FieldDecl::Create(), createHostLayoutType(), clang::Sema::getASTContext(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::ICIS_NoInit, and isInvalidConstantBufferLeafElementType().
Referenced by createHostLayoutStruct(), and createHostLayoutStructForBuffer().
|
static |
Definition at line 571 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::DeclContext::addDecl(), clang::AS_none, clang::CXXRecordDecl::bases_begin(), clang::CXXRecordDecl::completeDefinition(), clang::CXXRecordDecl::Create(), createFieldForHostLayoutStruct(), createHostLayoutStruct(), clang::RecordDecl::field_empty(), clang::RecordDecl::fields(), findRecordDeclInContext(), clang::Sema::getASTContext(), clang::ASTContext::getCanonicalTagType(), clang::Decl::getDeclContext(), getHostLayoutFieldType(), getHostLayoutStructName(), clang::CXXRecordDecl::getNumBases(), clang::ASTContext::getTrivialTypeSourceInfo(), clang::TagDecl::isClass(), requiresImplicitBufferLayoutStructure(), clang::CXXRecordDecl::setBases(), clang::Decl::setImplicit(), and clang::TagDecl::startDefinition().
Referenced by createHostLayoutStruct(), and createHostLayoutType().
|
static |
Definition at line 636 of file SemaHLSL.cpp.
References clang::Decl::addAttr(), clang::DeclContext::addDecl(), clang::HLSLBufferDecl::addLayoutStruct(), clang::HLSLBufferDecl::buffer_decls(), clang::CXXRecordDecl::completeDefinition(), clang::CXXRecordDecl::Create(), createFieldForHostLayoutStruct(), clang::QualType::getAddressSpace(), clang::ASTContext::getAddrSpaceQualType(), clang::Sema::getASTContext(), getHostLayoutFieldType(), getHostLayoutStructName(), clang::NamedDecl::getIdentifier(), clang::VarDecl::getStorageClass(), clang::ValueDecl::getType(), clang::hlsl_constant, clang::hlsl_groupshared, clang::SC_Static, clang::Decl::setImplicit(), clang::ValueDecl::setType(), and clang::TagDecl::startDefinition().
Referenced by clang::SemaHLSL::ActOnEndOfTranslationUnit(), and clang::SemaHLSL::ActOnFinishBuffer().
Definition at line 506 of file SemaHLSL.cpp.
References createHostLayoutStruct(), createHostLayoutType(), clang::Type::getAsCXXRecordDecl(), clang::Sema::getASTContext(), clang::ASTContext::getCanonicalTagType(), clang::ASTContext::getConstantArrayType(), clang::CanQual< T >::getTypePtr(), clang::QualType::getTypePtr(), and requiresImplicitBufferLayoutStructure().
Referenced by createFieldForHostLayoutStruct(), and createHostLayoutType().
|
static |
Definition at line 200 of file SemaHLSL.cpp.
References clang::ASTContext::backupStr(), and getRegisterTypeChar().
|
static |
Definition at line 2437 of file SemaHLSL.cpp.
References DiagnoseLocalRegisterBinding(), clang::isa(), and ValidateMultipleRegisterAnnotations().
Referenced by clang::SemaHLSL::handleResourceBindingAttr().
|
static |
Definition at line 2336 of file SemaHLSL.cpp.
References clang::cast(), clang::SemaBase::Diag(), clang::Type::getArrayElementTypeNoTypeQual(), clang::Sema::getASTContext(), clang::Decl::getDeclContext(), clang::Decl::getLocation(), getRegisterType(), clang::ValueDecl::getType(), clang::QualType::getTypePtr(), clang::Decl::hasAttr(), clang::isa(), clang::Type::isArithmeticType(), clang::Type::isArrayType(), clang::Type::isFloatingType(), clang::Type::isIntegralType(), clang::Type::isRecordType(), and clang::Type::isVectorType().
Referenced by DiagnoseHLSLRegisterAttribute().
|
static |
Walks the existing AttributedType sugar of T looking for a previously applied HLSLRowMajor/HLSLColumnMajor marker.
If one is found, populates ExistingKind with its attr::Kind and returns true.
Definition at line 2678 of file SemaHLSL.cpp.
References clang::Type::getAs(), and clang::T.
Referenced by clang::SemaHLSL::buildMatrixLayoutTypeAttr().
|
static |
Definition at line 454 of file SemaHLSL.cpp.
References clang::DeclContext::getNonTransparentContext(), and clang::DeclContext::lookup().
Referenced by createHostLayoutStruct(), and getHostLayoutStructName().
|
static |
Definition at line 3745 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::ASTContext::getCanonicalTagType(), clang::Sema::getCurFunctionDecl(), and clang::Type::isHLSLResourceRecord().
Referenced by CheckIntegerElementTypeShaderModel(), and CheckNoDoubleElementType().
Definition at line 535 of file SemaHLSL.cpp.
References clang::QualType::getTypePtr(), clang::Type::getUnqualifiedDesugaredType(), and clang::Type::isConstantMatrixType().
Referenced by createHostLayoutStruct(), and createHostLayoutStructForBuffer().
|
static |
Definition at line 471 of file SemaHLSL.cpp.
References findRecordDeclInContext(), clang::IdentifierTable::get(), clang::Sema::getASTContext(), clang::Decl::getDeclContext(), clang::NamedDecl::getIdentifier(), clang::IdentifierInfo::getName(), and clang::ASTContext::Idents.
Referenced by createHostLayoutStruct(), and createHostLayoutStructForBuffer().
|
static |
Definition at line 83 of file SemaHLSL.cpp.
References clang::hlsl_constant, and clang::hlsl_device.
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 79 of file SemaHLSL.cpp.
References getRegisterType().
|
static |
Definition at line 65 of file SemaHLSL.cpp.
Referenced by clang::SemaHLSL::ActOnVariableDeclarator(), DiagnoseLocalRegisterBinding(), and getRegisterType().
|
static |
Definition at line 130 of file SemaHLSL.cpp.
Referenced by createRegisterString().
|
static |
Definition at line 397 of file SemaHLSL.cpp.
References clang::Type::getArrayElementTypeNoTypeQual(), clang::Type::getUnqualifiedDesugaredType(), and clang::Type::isHLSLResourceRecordArray().
Referenced by clang::SemaHLSL::ActOnVariableDeclarator(), and getResourceArrayHandleType().
|
static |
Definition at line 407 of file SemaHLSL.cpp.
References getResourceArrayHandleType(), and clang::ValueDecl::getType().
|
static |
Definition at line 148 of file SemaHLSL.cpp.
Referenced by ValidateRegisterNumber().
|
static |
Definition at line 3722 of file SemaHLSL.cpp.
References Bias, Cmp, CmpLevelZero, Grad, Level, and Sample.
Referenced by CheckIntegerElementTypeShaderModel(), and CheckSamplingBuiltin().
|
static |
Definition at line 1251 of file SemaHLSL.cpp.
References clang::Type::isIntegralType(), and clang::Type::isRealFloatingType().
Referenced by clang::SemaHLSL::handleVectorBinOpConversion().
|
static |
Definition at line 166 of file SemaHLSL.cpp.
References clang::Type::isEnumeralType(), and clang::Builtin::NotBuiltin.
Referenced by clang::SemaHLSL::handleInitialization(), and clang::SemaHLSL::mergeVkConstantIdAttr().
Definition at line 3760 of file SemaHLSL.cpp.
References clang::Type::getAs().
Referenced by CheckIntegerElementTypeShaderModel(), and CheckNoDoubleElementType().
|
static |
Definition at line 1174 of file SemaHLSL.cpp.
References castElement(), clang::Sema::getASTContext(), clang::ASTContext::getFloatingTypeOrder(), and clang::Type::isRealFloatingType().
Referenced by clang::SemaHLSL::handleVectorBinOpConversion().
|
static |
Definition at line 1198 of file SemaHLSL.cpp.
References clang::Type::castAs(), castElement(), clang::Sema::Context, clang::Sema::getASTContext(), clang::ASTContext::getIntegerTypeOrder(), clang::VectorType::getNumElements(), and clang::Type::hasSignedIntegerRepresentation().
Referenced by clang::SemaHLSL::handleVectorBinOpConversion().
Definition at line 5299 of file SemaHLSL.cpp.
References clang::RecordDecl::fields(), clang::Type::getAsCXXRecordDecl(), clang::ArrayType::getElementType(), clang::ValueDecl::getType(), clang::Type::getUnqualifiedDesugaredType(), hasConstantBufferLayout(), clang::Type::isHLSLResourceRecord(), clang::Type::isHLSLResourceRecordArray(), clang::Type::isMatrixType(), clang::Type::isScalarType(), clang::Type::isVectorType(), and isZeroSizedArray().
Referenced by hasConstantBufferLayout(), and IsDefaultBufferConstantDecl().
|
static |
Definition at line 5329 of file SemaHLSL.cpp.
References clang::Default, clang::Decl::getDeclContext(), clang::VarDecl::getStorageClass(), clang::ASTContext::getTargetInfo(), clang::TargetInfo::getTriple(), clang::ValueDecl::getType(), clang::Decl::hasAttr(), hasConstantBufferLayout(), clang::DeclContext::isTranslationUnit(), and clang::SC_Static.
Referenced by clang::SemaHLSL::ActOnVariableDeclarator().
Definition at line 415 of file SemaHLSL.cpp.
References clang::cast(), clang::Type::getAsCXXRecordDecl(), clang::Type::getUnqualifiedDesugaredType(), clang::Type::isConstantArrayType(), clang::Type::isHLSLAttributedResourceType(), clang::Type::isHLSLBuiltinIntangibleType(), clang::Type::isHLSLResourceRecord(), clang::Type::isHLSLResourceRecordArray(), and isZeroSizedArray().
Referenced by createFieldForHostLayoutStruct(), and requiresImplicitBufferLayoutStructure().
Definition at line 2755 of file SemaHLSL.cpp.
Referenced by clang::SemaHLSL::propagateContextualMatrixLayout().
|
static |
Definition at line 2668 of file SemaHLSL.cpp.
References clang::Type::getArrayElementTypeNoTypeQual(), clang::Type::getUnqualifiedDesugaredType(), clang::isa(), clang::Type::isConstantMatrixType(), and clang::Type::isDependentType().
Referenced by clang::SemaHLSL::buildMatrixLayoutTypeAttr(), and clang::SemaHLSL::diagnoseMatrixLayoutInstantiation().
Definition at line 388 of file SemaHLSL.cpp.
References clang::Type::isHLSLResourceRecord(), and clang::Type::isHLSLResourceRecordArray().
Referenced by clang::SemaHLSL::ActOnVariableDeclarator(), and isResourceRecordTypeOrArrayOf().
Definition at line 392 of file SemaHLSL.cpp.
References clang::ValueDecl::getType(), and isResourceRecordTypeOrArrayOf().
Definition at line 1759 of file SemaHLSL.cpp.
Referenced by clang::SemaHLSL::handleWaveSizeAttr().
|
static |
Definition at line 868 of file SemaHLSL.cpp.
References clang::Decl::getAttr(), clang::ASTContext::getTargetInfo(), and clang::TargetInfo::getTriple().
|
static |
Definition at line 381 of file SemaHLSL.cpp.
References clang::ArrayType::getElementType(), clang::Type::getUnqualifiedDesugaredType(), and clang::ConstantArrayType::isZeroSize().
Referenced by clang::SemaSYCL::deepTypeCheckForDevice(), hasConstantBufferLayout(), and isInvalidConstantBufferLeafElementType().
|
static |
Definition at line 6457 of file SemaHLSL.cpp.
References clang::SemaBase::Diag().
Referenced by clang::SemaHLSL::checkMatrixComponent().
|
static |
Definition at line 434 of file SemaHLSL.cpp.
References clang::CXXRecordDecl::bases(), clang::RecordDecl::fields(), clang::Type::getAsCXXRecordDecl(), clang::QualType::getTypePtr(), clang::CXXRecordDecl::isEmpty(), clang::CXXRecordDecl::isHLSLIntangible(), isInvalidConstantBufferLeafElementType(), and requiresImplicitBufferLayoutStructure().
Referenced by createHostLayoutStruct(), createHostLayoutType(), and requiresImplicitBufferLayoutStructure().
Definition at line 3457 of file SemaHLSL.cpp.
References clang::Sema::Context, clang::CallExpr::getArg(), clang::Type::getAs(), clang::ASTContext::getConstantMatrixType(), clang::ASTContext::getExtVectorType(), clang::Expr::getType(), and clang::Expr::setType().
Referenced by clang::SemaHLSL::CheckBuiltinFunctionCall().
|
static |
Definition at line 2412 of file SemaHLSL.cpp.
References clang::Decl::attr_begin(), clang::Decl::attr_end(), clang::SemaBase::Diag(), and clang::Decl::getLocation().
Referenced by DiagnoseHLSLRegisterAttribute().
|
static |
Definition at line 328 of file SemaHLSL.cpp.
References clang::HLSLBufferDecl::buffer_decls(), calculateLegacyCbufferSize(), clang::SemaBase::Diag(), clang::Sema::getASTContext(), clang::Decl::getAttr(), clang::Decl::getLocation(), clang::ValueDecl::getType(), and clang::HLSLBufferDecl::setHasValidPackoffset().
Referenced by clang::SemaHLSL::ActOnFinishBuffer().
|
static |
Definition at line 2522 of file SemaHLSL.cpp.
References AccumulateHLSLResourceSlots(), getResourceClass(), clang::ValueDecl::getType(), and clang::isa().
Referenced by clang::SemaHLSL::handleResourceBindingAttr().