clang 22.0.0git
clang::threadSafety::til::BinaryOp Class Reference

Simple arithmetic binary operations, e.g. More...

#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"

Inheritance diagram for clang::threadSafety::til::BinaryOp:
[legend]

Public Member Functions

 BinaryOp (TIL_BinaryOpcode Op, SExpr *E0, SExpr *E1)
 BinaryOp (const BinaryOp &B, SExpr *E0, SExpr *E1)
TIL_BinaryOpcode binaryOpcode () const
SExprexpr0 ()
const SExprexpr0 () const
SExprexpr1 ()
const SExprexpr1 () const
template<class V>
V::R_SExpr traverse (V &Vs, typename V::R_Ctx Ctx)
template<class C>
C::CType compare (const BinaryOp *E, C &Cmp) const
Public Member Functions inherited from clang::threadSafety::til::SExpr
 SExpr ()=delete
TIL_Opcode opcode () const
void * operator new (size_t S, MemRegionRef &R)
void * operator new (size_t)=delete
 SExpr objects must be created in an arena.
void operator delete (void *)=delete
 SExpr objects cannot be deleted.
unsigned id () const
 Returns the instruction ID for this expression.
BasicBlockblock () const
 Returns the block, if this is an instruction in a basic block, otherwise returns null.
void setID (BasicBlock *B, unsigned id)
 Set the basic block and instruction ID for this expression.

Static Public Member Functions

static bool classof (const SExpr *E)

Additional Inherited Members

Protected Member Functions inherited from clang::threadSafety::til::SExpr
 SExpr (TIL_Opcode Op)
 SExpr (const SExpr &E)
SExproperator= (const SExpr &)=delete
Protected Attributes inherited from clang::threadSafety::til::SExpr
const TIL_Opcode Opcode
unsigned char Reserved = 0
unsigned short Flags = 0
unsigned SExprID = 0
BasicBlockBlock = nullptr

Detailed Description

Simple arithmetic binary operations, e.g.

+, -, etc. These operations have no side effects.

Definition at line 1214 of file ThreadSafetyTIL.h.

Constructor & Destructor Documentation

◆ BinaryOp() [1/2]

clang::threadSafety::til::BinaryOp::BinaryOp ( TIL_BinaryOpcode Op,
SExpr * E0,
SExpr * E1 )
inline

◆ BinaryOp() [2/2]

clang::threadSafety::til::BinaryOp::BinaryOp ( const BinaryOp & B,
SExpr * E0,
SExpr * E1 )
inline

Member Function Documentation

◆ binaryOpcode()

TIL_BinaryOpcode clang::threadSafety::til::BinaryOp::binaryOpcode ( ) const
inline

◆ classof()

bool clang::threadSafety::til::BinaryOp::classof ( const SExpr * E)
inlinestatic

◆ compare()

template<class C>
C::CType clang::threadSafety::til::BinaryOp::compare ( const BinaryOp * E,
C & Cmp ) const
inline

Definition at line 1246 of file ThreadSafetyTIL.h.

References BinaryOp(), binaryOpcode(), clang::C, expr0(), and expr1().

◆ expr0() [1/2]

SExpr * clang::threadSafety::til::BinaryOp::expr0 ( )
inline

◆ expr0() [2/2]

const SExpr * clang::threadSafety::til::BinaryOp::expr0 ( ) const
inline

Definition at line 1233 of file ThreadSafetyTIL.h.

References clang::threadSafety::til::SExpr::SExpr().

◆ expr1() [1/2]

SExpr * clang::threadSafety::til::BinaryOp::expr1 ( )
inline

◆ expr1() [2/2]

const SExpr * clang::threadSafety::til::BinaryOp::expr1 ( ) const
inline

Definition at line 1236 of file ThreadSafetyTIL.h.

References clang::threadSafety::til::SExpr::SExpr().

◆ traverse()

template<class V>
V::R_SExpr clang::threadSafety::til::BinaryOp::traverse ( V & Vs,
typename V::R_Ctx Ctx )
inline

Definition at line 1239 of file ThreadSafetyTIL.h.

References V.


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