clang  20.0.0git
Public Member Functions | List of all members
clang::SemaOpenCL Class Reference

#include "clang/Sema/SemaOpenCL.h"

Inheritance diagram for clang::SemaOpenCL:
Inheritance graph
[legend]

Public Member Functions

 SemaOpenCL (Sema &S)
 
void handleNoSVMAttr (Decl *D, const ParsedAttr &AL)
 
void handleAccessAttr (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. More...
 
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. More...
 
bool checkBuiltinNDRangeAndBlock (CallExpr *TheCall)
 
- Public Member Functions inherited from clang::SemaBase
 SemaBase (Sema &S)
 
ASTContextgetASTContext () const
 
DiagnosticsEnginegetDiagnostics () const
 
const LangOptionsgetLangOpts () const
 
void addFDToReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
bool isFDReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
 Emit a diagnostic. More...
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
 Emit a partial diagnostic. More...
 
PartialDiagnostic PDiag (unsigned DiagID=0)
 Build a partial diagnostic. More...
 

Additional Inherited Members

- Public Types inherited from clang::SemaBase
enum class  DeviceDiagnosticReason {
  None = 0 , OmpDevice = 1 << 0 , OmpHost = 1 << 1 , OmpAll = OmpDevice | OmpHost ,
  CudaDevice = 1 << 2 , CudaHost = 1 << 3 , CudaAll = CudaDevice | CudaHost , Sycl = 1 << 4 ,
  Esimd = 1 << 5 , All = OmpAll | CudaAll | Sycl | Esimd
}
 Bitmask to contain the list of reasons a single diagnostic should be emitted, based on its language. More...
 
- Public Attributes inherited from clang::SemaBase
SemaSemaRef
 

Detailed Description

Definition at line 22 of file SemaOpenCL.h.

Constructor & Destructor Documentation

◆ SemaOpenCL()

clang::SemaOpenCL::SemaOpenCL ( Sema S)

Definition at line 21 of file SemaOpenCL.cpp.

Member Function Documentation

◆ checkBuiltinCommitRWPipe()

bool clang::SemaOpenCL::checkBuiltinCommitRWPipe ( CallExpr Call)

◆ checkBuiltinEnqueueKernel()

bool clang::SemaOpenCL::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.

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 219 of file SemaOpenCL.cpp.

◆ checkBuiltinKernelWorkGroupSize()

bool clang::SemaOpenCL::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.

Definition at line 158 of file SemaOpenCL.cpp.

References clang::Sema::checkArgCount(), clang::checkBlockArgs(), clang::SemaBase::Diag(), clang::CallExpr::getArg(), clang::Stmt::getBeginLoc(), clang::CallExpr::getDirectCallee(), clang::isBlockPointer(), and clang::SemaBase::SemaRef.

◆ checkBuiltinNDRangeAndBlock()

bool clang::SemaOpenCL::checkBuiltinNDRangeAndBlock ( CallExpr TheCall)

◆ checkBuiltinPipePackets()

bool clang::SemaOpenCL::checkBuiltinPipePackets ( CallExpr Call)

◆ checkBuiltinReserveRWPipe()

bool clang::SemaOpenCL::checkBuiltinReserveRWPipe ( CallExpr Call)

◆ checkBuiltinRWPipe()

bool clang::SemaOpenCL::checkBuiltinRWPipe ( CallExpr Call)

◆ checkBuiltinToAddr()

bool clang::SemaOpenCL::checkBuiltinToAddr ( unsigned  BuiltinID,
CallExpr Call 
)

◆ checkSubgroupExt()

bool clang::SemaOpenCL::checkSubgroupExt ( CallExpr Call)

◆ handleAccessAttr()

void clang::SemaOpenCL::handleAccessAttr ( Decl D,
const ParsedAttr AL 
)

◆ handleNoSVMAttr()

void clang::SemaOpenCL::handleNoSVMAttr ( Decl D,
const ParsedAttr AL 
)

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