clang 22.0.0git
Functions
CIRGenAtomic.cpp File Reference
#include "CIRGenFunction.h"
#include "clang/CIR/MissingFeatures.h"

Go to the source code of this file.

Functions

static Address emitValToTemp (CIRGenFunction &cgf, Expr *e)
 
static bool isFullSizeType (CIRGenModule &cgm, mlir::Type ty, uint64_t expectedSize)
 Does a store of the given IR type modify the full expected width?
 
static void emitAtomicOp (CIRGenFunction &cgf, AtomicExpr *expr, Address dest, Address ptr, Address val1, uint64_t size, cir::MemOrder order)
 
static bool isMemOrderValid (uint64_t order, bool isStore, bool isLoad)
 

Function Documentation

◆ emitAtomicOp()

static void emitAtomicOp ( CIRGenFunction cgf,
AtomicExpr expr,
Address  dest,
Address  ptr,
Address  val1,
uint64_t  size,
cir::MemOrder  order 
)
static

◆ emitValToTemp()

static Address emitValToTemp ( CIRGenFunction cgf,
Expr e 
)
static

◆ isFullSizeType()

static bool isFullSizeType ( CIRGenModule cgm,
mlir::Type  ty,
uint64_t  expectedSize 
)
static

Does a store of the given IR type modify the full expected width?

Definition at line 142 of file CIRGenAtomic.cpp.

References clang::CIRGen::CIRGenModule::getDataLayout(), and cir::CIRDataLayout::getTypeStoreSize().

◆ isMemOrderValid()

static bool isMemOrderValid ( uint64_t  order,
bool  isStore,
bool  isLoad 
)
static