|
clang 23.0.0git
|
#include "CGBuiltin.h"#include "CGHLSLRuntime.h"#include "CodeGenFunction.h"#include "clang/AST/HLSLResource.h"#include "clang/AST/MatrixUtils.h"#include "llvm/IR/MatrixBuilder.h"Go to the source code of this file.
Functions | |
| static Value * | handleAsDoubleBuiltin (CodeGenFunction &CGF, const CallExpr *E) |
| static Value * | handleHlslClip (const CallExpr *E, CodeGenFunction *CGF) |
| static Value * | handleHlslSplitdouble (const CallExpr *E, CodeGenFunction *CGF) |
| static Value * | handleHlslWaveActiveBallot (CodeGenFunction &CGF, const CallExpr *E) |
| static Value * | handleElementwiseF16ToF32 (CodeGenFunction &CGF, const CallExpr *E) |
| static Value * | handleElementwiseF32ToF16 (CodeGenFunction &CGF, const CallExpr *E) |
| static Value * | emitBufferStride (CodeGenFunction *CGF, const Expr *HandleExpr, LValue &Stride) |
| static Intrinsic::ID | getDotProductIntrinsic (CGHLSLRuntime &RT, QualType QT) |
| static Intrinsic::ID | getFirstBitHighIntrinsic (CGHLSLRuntime &RT, QualType QT) |
| static Intrinsic::ID | getWaveActiveSumIntrinsic (llvm::Triple::ArchType Arch, QualType QT) |
| static Intrinsic::ID | getWaveActiveProductIntrinsic (llvm::Triple::ArchType Arch, QualType QT) |
| static Intrinsic::ID | getPrefixCountBitsIntrinsic (llvm::Triple::ArchType Arch) |
| static Intrinsic::ID | getWavePrefixSumIntrinsic (llvm::Triple::ArchType Arch, QualType QT) |
| static Intrinsic::ID | getWavePrefixProductIntrinsic (llvm::Triple::ArchType Arch, QualType QT) |
| static std::string | getSpecConstantFunctionName (clang::QualType SpecConstantType, ASTContext &Context) |
| static const HLSLAttributedResourceType * | getHandleAttributedType (QualType HandleQT) |
| static const HLSLAttributedResourceType * | getRequiredHandleType (const CallExpr *E, unsigned ArgNo) |
| static llvm::Type * | getOffsetType (CodeGenModule &CGM, const HLSLAttributedResourceType *RT) |
| static Value * | emitHlslOffset (CodeGenFunction &CGF, const CallExpr *E, unsigned OffsetArgIndex, llvm::Type *OffsetTy) |
| static Value * | emitHlslClamp (CodeGenFunction &CGF, const CallExpr *E, unsigned ClampArgIndex) |
| static Value * | emitGetDimensions (CodeGenFunction &CGF, const CallExpr *E, unsigned IntrinsicID, unsigned NumRetComps, bool HasLod) |
|
static |
Definition at line 313 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::cast(), clang::CodeGen::CGBuilderTy::CreateStore(), clang::Expr::getType(), clang::QualType::getTypePtr(), and clang::CodeGen::CodeGenFunction::getTypeSize().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 508 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CGBuilderTy::CreateStore(), clang::CodeGen::CodeGenFunction::EmitLValue(), clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CallExpr::getArg(), clang::CodeGen::CodeGenFunction::getLLVMContext(), clang::Expr::getType(), clang::Value::getType(), and clang::Type::isFloatingType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 497 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CallExpr::getArg(), and clang::Value::getType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 489 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CallExpr::getArg(), and clang::CallExpr::getNumArgs().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 324 of file CGHLSLBuiltins.cpp.
References clang::Type::isFloatingType(), clang::Type::isSignedIntegerType(), and clang::Type::isUnsignedIntegerType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 333 of file CGHLSLBuiltins.cpp.
References clang::Type::hasSignedIntegerRepresentation(), and clang::Type::hasUnsignedIntegerRepresentation().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 462 of file CGHLSLBuiltins.cpp.
References clang::Type::getAs(), and clang::QualType::getTypePtr().
Referenced by getRequiredHandleType().
|
static |
Definition at line 478 of file CGHLSLBuiltins.cpp.
References clang::hlsl::getResourceDimensions(), and clang::CodeGen::CodeGenTypeCache::Int32Ty.
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 376 of file CGHLSLBuiltins.cpp.
References Arch.
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 474 of file CGHLSLBuiltins.cpp.
References clang::CallExpr::getArg(), getHandleAttributedType(), and clang::Expr::getType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 425 of file CGHLSLBuiltins.cpp.
References clang::FunctionDecl::Create(), clang::ParmVarDecl::Create(), clang::SC_Extern, and clang::SC_None.
Referenced by clang::CodeGen::CodeGenFunction::getSpecConstantFunction().
|
static |
Definition at line 360 of file CGHLSLBuiltins.cpp.
References Arch, and clang::Type::isUnsignedIntegerType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 343 of file CGHLSLBuiltins.cpp.
References Arch, and clang::Type::isUnsignedIntegerType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 407 of file CGHLSLBuiltins.cpp.
References Arch, and clang::Type::isUnsignedIntegerType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 390 of file CGHLSLBuiltins.cpp.
References Arch, and clang::Type::isUnsignedIntegerType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 24 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenTypeCache::DoubleTy, clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::CodeGen::CodeGenModule::getTarget(), clang::TargetInfo::getTriple(), clang::Expr::getType(), clang::Type::hasUnsignedIntegerRepresentation(), and clang::Type::isVectorType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 209 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::Type::castAs(), clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CodeGen::CodeGenTypeCache::FloatTy, clang::CallExpr::getArg(), clang::CodeGen::CodeGenModule::getTriple(), clang::Expr::getType(), clang::Value::getType(), and clang::Type::hasUnsignedIntegerRepresentation().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 260 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::Type::castAs(), clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CodeGen::CodeGenTypeCache::FloatTy, clang::CallExpr::getArg(), clang::CodeGen::CodeGenModule::getTriple(), clang::Expr::getType(), clang::Value::getType(), clang::Type::hasFloatingRepresentation(), and clang::CodeGen::CodeGenTypeCache::IntTy.
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 59 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, Constant, clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CodeGenFunction::CurFn, clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CodeGen::CodeGenTypeCache::FloatTy, clang::CallExpr::getArg(), clang::Type::getAs(), clang::CodeGen::CodeGenModule::getHLSLRuntime(), clang::CodeGen::CodeGenModule::getTarget(), clang::TargetInfo::getTriple(), and clang::Expr::getType().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 98 of file CGHLSLBuiltins.cpp.
References clang::TargetCXXABI::areArgsDestroyedLeftToRightInCallee(), clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CGBuilderTy::CreateStore(), clang::CodeGen::CodeGenFunction::EmitHLSLOutArgExpr(), clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CodeGen::CodeGenFunction::EmitWritebacks(), clang::CallExpr::getArg(), clang::Type::getAs(), clang::TargetInfo::getCXXABI(), clang::CodeGen::CodeGenFunction::getTarget(), clang::CodeGen::CodeGenModule::getTarget(), clang::TargetInfo::getTriple(), clang::Expr::getType(), clang::Value::getType(), clang::CodeGen::CodeGenTypeCache::Int32Ty, and clang::CodeGen::CallArgList::reverseWritebacks().
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().
|
static |
Definition at line 175 of file CGHLSLBuiltins.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, clang::Cond, clang::CodeGen::CodeGenFunction::EmitIntrinsicCall(), clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::CallExpr::getArg(), clang::CodeGen::CodeGenFunction::getLLVMContext(), clang::CodeGen::CodeGenModule::getTarget(), clang::TargetInfo::getTriple(), clang::Value::getType(), and clang::CodeGen::CodeGenTypeCache::Int32Ty.
Referenced by clang::CodeGen::CodeGenFunction::EmitHLSLBuiltinExpr().