clang 24.0.0git
CIRGenBuiltinNVPTX.cpp File Reference
#include "CIRGenFunction.h"
#include "mlir/IR/Value.h"
#include "clang/Basic/TargetBuiltins.h"
#include "clang/CIR/Dialect/IR/CIRDataLayout.h"
#include "clang/CIR/Dialect/IR/CIRDialect.h"
#include "llvm/Support/NVPTXAddrSpace.h"

Go to the source code of this file.

Functions

static mlir::Value makeLdu (CIRGenFunction &cgf, const CallExpr *expr, llvm::StringRef intrinsicName)
static mlir::Value makeLdg (CIRGenFunction &cgf, const CallExpr *expr)
static mlir::Value emitUnaryNVVMIntrinsic (CIRGenFunction &cgf, const CallExpr *expr, llvm::StringRef intrinsicName)
 Emit a CIR LLVMIntrinsicCallOp for a unary NVVM intrinsic.
static mlir::Value emitBar0Reduction (CIRGenFunction &cgf, const CallExpr *expr, llvm::StringRef intrinsicName, bool returnsPred)
static mlir::Value makeScopedAtomicRMW (CIRGenFunction &cgf, const CallExpr *expr, cir::AtomicFetchKind kind, cir::SyncScopeKind scope)
static mlir::Value makeScopedAtomicXchg (CIRGenFunction &cgf, const CallExpr *expr, cir::SyncScopeKind scope)
static mlir::Value packArgsIntoNVPTXFormatBuffer (CIRGenFunction &cgf, const CallArgList &args, mlir::Location loc)

Function Documentation

◆ emitBar0Reduction()

◆ emitUnaryNVVMIntrinsic()

mlir::Value emitUnaryNVVMIntrinsic ( CIRGenFunction & cgf,
const CallExpr * expr,
llvm::StringRef intrinsicName )
static

Emit a CIR LLVMIntrinsicCallOp for a unary NVVM intrinsic.

The result type is inferred from the single argument.

Definition at line 61 of file CIRGenBuiltinNVPTX.cpp.

References clang::CIRGen::CIRGenFunction::emitScalarExpr(), clang::ast_matchers::expr, clang::CIRGen::CIRGenFunction::getBuilder(), and clang::CIRGen::CIRGenFunction::getLoc().

Referenced by clang::CIRGen::CIRGenFunction::emitNVPTXBuiltinExpr().

◆ makeLdg()

◆ makeLdu()

◆ makeScopedAtomicRMW()

◆ makeScopedAtomicXchg()

◆ packArgsIntoNVPTXFormatBuffer()