clang 22.0.0git
|
#include "clang/Sema/SemaOpenCL.h"
Public Member Functions | |
SemaOpenCL (Sema &S) | |
void | handleNoSVMAttr (Decl *D, const ParsedAttr &AL) |
void | handleAccessAttr (Decl *D, const ParsedAttr &AL) |
void | handleSubGroupSize (Decl *D, const ParsedAttr &AL) |
bool | checkBuiltinRWPipe (CallExpr *Call) |
bool | checkBuiltinReserveRWPipe (CallExpr *Call) |
bool | checkSubgroupExt (CallExpr *Call) |
bool | checkBuiltinCommitRWPipe (CallExpr *Call) |
bool | checkBuiltinPipePackets (CallExpr *Call) |
bool | checkBuiltinToAddr (unsigned BuiltinID, CallExpr *Call) |
bool | checkBuiltinEnqueueKernel (CallExpr *TheCall) |
OpenCL C v2.0, s6.13.17 - Enqueue kernel function contains four different overload formats specified in Table 6.13.17.1. | |
bool | checkBuiltinKernelWorkGroupSize (CallExpr *TheCall) |
OpenCL C v2.0, s6.13.17.6 - Check the argument to the get_kernel_work_group_size and get_kernel_preferred_work_group_size_multiple builtin functions. | |
bool | checkBuiltinNDRangeAndBlock (CallExpr *TheCall) |
Public Member Functions inherited from clang::SemaBase | |
SemaBase (Sema &S) | |
ASTContext & | getASTContext () const |
DiagnosticsEngine & | getDiagnostics () const |
const LangOptions & | getLangOpts () const |
DeclContext * | getCurContext () const |
SemaDiagnosticBuilder | Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false) |
Emit a diagnostic. | |
SemaDiagnosticBuilder | Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false) |
Emit a partial diagnostic. | |
SemaDiagnosticBuilder | DiagCompat (SourceLocation Loc, unsigned CompatDiagId, bool DeferHint=false) |
Emit a compatibility diagnostic. | |
PartialDiagnostic | PDiag (unsigned DiagID=0) |
Build a partial diagnostic. |
Additional Inherited Members | |
Public Attributes inherited from clang::SemaBase | |
Sema & | SemaRef |
Definition at line 22 of file SemaOpenCL.h.
clang::SemaOpenCL::SemaOpenCL | ( | Sema & | S | ) |
Definition at line 21 of file SemaOpenCL.cpp.
References clang::SemaBase::SemaBase().
Definition at line 507 of file SemaOpenCL.cpp.
References clang::Call, clang::checkPipeArg(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::ASTContext::OCLReserveIDTy, and clang::SemaBase::SemaRef.
OpenCL C v2.0, s6.13.17 - Enqueue kernel function contains four different overload formats specified in Table 6.13.17.1.
int enqueue_kernel(queue_t queue, kernel_enqueue_flags_t flags, const ndrange_t ndrange, void (^block)(void)) int enqueue_kernel(queue_t queue, kernel_enqueue_flags_t flags, const ndrange_t ndrange, uint num_events_in_wait_list, clk_event_t event_wait_list, clk_event_t *event_ret, void (^block)(void)) int enqueue_kernel(queue_t queue, kernel_enqueue_flags_t flags, const ndrange_t ndrange, void (^block)(local void, ...), uint size0, ...) int enqueue_kernel(queue_t queue, kernel_enqueue_flags_t flags, const ndrange_t ndrange, uint num_events_in_wait_list, clk_event_t event_wait_list, clk_event_t *event_ret, void (^block)(local void, ...), uint size0, ...)
Definition at line 239 of file SemaOpenCL.cpp.
References clang::cast(), clang::Type::castAs(), clang::checkBlockArgs(), clang::checkOpenCLEnqueueVariadicArgs(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::QualType::getAsString(), clang::SemaBase::getASTContext(), clang::CallExpr::getBeginLoc(), clang::Stmt::getBeginLoc(), clang::QualType::getCanonicalType(), clang::CallExpr::getDirectCallee(), clang::CallExpr::getNumArgs(), clang::FunctionProtoType::getNumParams(), clang::Type::getPointeeOrArrayElementType(), clang::BlockPointerType::getPointeeType(), clang::Type::getPointeeType(), clang::Expr::getType(), clang::QualType::getUnqualifiedType(), clang::isBlockPointer(), clang::Type::isClkEventT(), clang::Type::isIntegerType(), clang::Expr::isNullPointerConstant(), clang::Type::isPointerType(), clang::Type::isQueueT(), clang::Expr::NPC_ValueDependentIsNotNull, clang::ASTContext::OCLQueueTy, and clang::SemaBase::SemaRef.
OpenCL C v2.0, s6.13.17.6 - Check the argument to the get_kernel_work_group_size and get_kernel_preferred_work_group_size_multiple builtin functions.
Definition at line 178 of file SemaOpenCL.cpp.
References clang::checkBlockArgs(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Stmt::getBeginLoc(), clang::CallExpr::getDirectCallee(), clang::isBlockPointer(), and clang::SemaBase::SemaRef.
Definition at line 154 of file SemaOpenCL.cpp.
References clang::checkBlockArgs(), checkSubgroupExt(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::QualType::getAsString(), clang::Stmt::getBeginLoc(), clang::CallExpr::getDirectCallee(), clang::Expr::getType(), clang::QualType::getUnqualifiedType(), clang::isBlockPointer(), and clang::SemaBase::SemaRef.
Definition at line 525 of file SemaOpenCL.cpp.
References clang::Call, clang::SemaBase::Diag(), and clang::SemaBase::SemaRef.
Definition at line 483 of file SemaOpenCL.cpp.
References clang::Call, clang::checkPipeArg(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::SemaBase::SemaRef, and clang::ASTContext::UnsignedIntTy.
Definition at line 433 of file SemaOpenCL.cpp.
References clang::Call, clang::checkPipeArg(), clang::checkPipePacketType(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Stmt::getSourceRange(), clang::Expr::getType(), clang::Type::isIntegerType(), clang::Type::isUnsignedIntegerType(), clang::ASTContext::OCLReserveIDTy, clang::SemaBase::SemaRef, and clang::ASTContext::UnsignedIntTy.
Definition at line 538 of file SemaOpenCL.cpp.
References clang::Call, clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::opencl_constant, clang::opencl_generic, clang::opencl_global, clang::opencl_local, clang::opencl_private, and clang::SemaBase::SemaRef.
Definition at line 138 of file SemaOpenCL.cpp.
References clang::Call, clang::SemaBase::Diag(), clang::SemaBase::getLangOpts(), and clang::SemaBase::SemaRef.
Referenced by checkBuiltinNDRangeAndBlock().
void clang::SemaOpenCL::handleAccessAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 32 of file SemaOpenCL.cpp.
References clang::Decl::addAttr(), clang::SemaBase::Diag(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::AttributeCommonInfo::getAttrName(), clang::SemaBase::getLangOpts(), clang::AttributeCommonInfo::getLoc(), clang::IdentifierInfo::getName(), clang::LangOptions::getOpenCLCompatibleVersion(), clang::AttributeCommonInfo::getRange(), clang::ParsedAttr::getSemanticSpelling(), clang::Decl::getSourceRange(), clang::Decl::hasAttr(), clang::Decl::isInvalidDecl(), clang::SemaBase::SemaRef, and clang::Decl::setInvalidDecl().
Referenced by ProcessDeclAttribute().
void clang::SemaOpenCL::handleNoSVMAttr | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 23 of file SemaOpenCL.cpp.
References clang::SemaBase::Diag(), clang::SemaBase::getLangOpts(), clang::AttributeCommonInfo::getLoc(), and clang::LangOptions::getOpenCLVersionString().
Referenced by ProcessDeclAttribute().
void clang::SemaOpenCL::handleSubGroupSize | ( | Decl * | D, |
const ParsedAttr & | AL ) |
Definition at line 79 of file SemaOpenCL.cpp.
References clang::Decl::addAttr(), clang::SemaBase::Diag(), clang::ParsedAttr::getArgAsExpr(), clang::SemaBase::getASTContext(), clang::Decl::getAttr(), clang::AttributeCommonInfo::getLoc(), clang::Stmt::getSourceRange(), and clang::SemaBase::SemaRef.
Referenced by ProcessDeclAttribute().