Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
Halide::Internal::Atomic Struct Reference

Lock all the Store nodes in the body statement. More...

#include <IR.h>

Inheritance diagram for Halide::Internal::Atomic:
Halide::Internal::StmtNode< Atomic > Halide::Internal::BaseStmtNode Halide::Internal::IRNode

Static Public Member Functions

static Stmt make (const std::string &producer_name, const std::string &mutex_name, Stmt body)
 

Public Attributes

std::string producer_name
 
std::string mutex_name
 
Stmt body
 
- Public Attributes inherited from Halide::Internal::IRNode
RefCount ref_count
 These classes are all managed with intrusive reference counting, so we also track a reference count.
 
IRNodeType node_type
 Each IR node subclass has a unique identifier.
 

Static Public Attributes

static const IRNodeType _node_type = IRNodeType::Atomic
 

Additional Inherited Members

- Public Member Functions inherited from Halide::Internal::StmtNode< Atomic >
void accept (IRVisitor *v) const override
 We use the visitor pattern to traverse IR nodes throughout the compiler, so we have a virtual accept method which accepts visitors.
 
Stmt mutate_stmt (IRMutator *v) const override
 
 StmtNode ()
 
 ~StmtNode () override=default
 
- Public Member Functions inherited from Halide::Internal::BaseStmtNode
 BaseStmtNode (IRNodeType t)
 
- Public Member Functions inherited from Halide::Internal::IRNode
 IRNode (IRNodeType t)
 
virtual ~IRNode ()=default
 

Detailed Description

Lock all the Store nodes in the body statement.

Typically the lock is implemented by an atomic operation (e.g. atomic add or atomic compare-and-swap). However, if necessary, the node can access a mutex buffer through mutex_name and mutex_args, by lowering this node into calls to acquire and release the lock.

Definition at line 961 of file IR.h.

Member Function Documentation

◆ make()

static Stmt Halide::Internal::Atomic::make ( const std::string & producer_name,
const std::string & mutex_name,
Stmt body )
static

Member Data Documentation

◆ producer_name

std::string Halide::Internal::Atomic::producer_name

Definition at line 962 of file IR.h.

◆ mutex_name

std::string Halide::Internal::Atomic::mutex_name

Definition at line 963 of file IR.h.

◆ body

Stmt Halide::Internal::Atomic::body

Definition at line 964 of file IR.h.

◆ _node_type

const IRNodeType Halide::Internal::Atomic::_node_type = IRNodeType::Atomic
static

Definition at line 970 of file IR.h.


The documentation for this struct was generated from the following file: