clang 17.0.0git
|
Base class for AST nodes in the typed intermediate language. More...
#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"
Public Member Functions | |
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. | |
BasicBlock * | block () 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. | |
Protected Member Functions | |
SExpr (TIL_Opcode Op) | |
SExpr (const SExpr &E) | |
Protected Attributes | |
const TIL_Opcode | Opcode |
unsigned char | Reserved = 0 |
unsigned short | Flags = 0 |
unsigned | SExprID = 0 |
BasicBlock * | Block = nullptr |
Base class for AST nodes in the typed intermediate language.
Definition at line 276 of file ThreadSafetyTIL.h.
|
delete |
|
inlineprotected |
Definition at line 320 of file ThreadSafetyTIL.h.
|
inlineprotected |
Definition at line 321 of file ThreadSafetyTIL.h.
|
inline |
Returns the block, if this is an instruction in a basic block, otherwise returns null.
Definition at line 314 of file ThreadSafetyTIL.h.
References Block.
Referenced by clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printSExpr().
|
inline |
Returns the instruction ID for this expression.
All basic block instructions have a unique ID (i.e. virtual register).
Definition at line 310 of file ThreadSafetyTIL.h.
References SExprID.
Referenced by clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printBBInstr(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printSExpr(), and setID().
|
inline |
Definition at line 280 of file ThreadSafetyTIL.h.
References Opcode.
Referenced by clang::threadSafety::til::Variable::classof(), clang::threadSafety::til::Future::classof(), clang::threadSafety::til::Undefined::classof(), clang::threadSafety::til::Wildcard::classof(), clang::threadSafety::til::Literal::classof(), clang::threadSafety::til::LiteralPtr::classof(), clang::threadSafety::til::Function::classof(), clang::threadSafety::til::SFunction::classof(), clang::threadSafety::til::Code::classof(), clang::threadSafety::til::Field::classof(), clang::threadSafety::til::Apply::classof(), clang::threadSafety::til::SApply::classof(), clang::threadSafety::til::Project::classof(), clang::threadSafety::til::Call::classof(), clang::threadSafety::til::Alloc::classof(), clang::threadSafety::til::Load::classof(), clang::threadSafety::til::Store::classof(), clang::threadSafety::til::ArrayIndex::classof(), clang::threadSafety::til::ArrayAdd::classof(), clang::threadSafety::til::UnaryOp::classof(), clang::threadSafety::til::BinaryOp::classof(), clang::threadSafety::til::Cast::classof(), clang::threadSafety::til::Phi::classof(), clang::threadSafety::til::Terminator::classof(), clang::threadSafety::til::Goto::classof(), clang::threadSafety::til::Branch::classof(), clang::threadSafety::til::Return::classof(), clang::threadSafety::til::BasicBlock::classof(), clang::threadSafety::til::SCFG::classof(), clang::threadSafety::til::Identifier::classof(), clang::threadSafety::til::IfThenElse::classof(), clang::threadSafety::til::Let::classof(), clang::threadSafety::til::EqualsComparator::compare(), clang::threadSafety::til::MatchComparator::compare(), clang::threadSafety::til::Comparator< Self >::compareByCase(), clang::threadSafety::til::ThreadSafetyTIL::isTrivial(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::precedence(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printApply(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printBBInstr(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printCall(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printFunction(), clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printSExpr(), clang::threadSafety::til::Terminator::successors(), and clang::threadSafety::til::Traversal< Self, R >::traverseByCase().
|
delete |
SExpr objects cannot be deleted.
|
inline |
Definition at line 296 of file ThreadSafetyTIL.h.
|
delete |
SExpr objects must be created in an arena.
|
inline |
Set the basic block and instruction ID for this expression.
Definition at line 317 of file ThreadSafetyTIL.h.
|
protected |
Definition at line 327 of file ThreadSafetyTIL.h.
Referenced by block(), clang::threadSafety::til::SCFG::computeNormalForm(), and setID().
|
protected |
Definition at line 325 of file ThreadSafetyTIL.h.
Referenced by clang::threadSafety::til::Alloc::Alloc(), clang::threadSafety::til::BinaryOp::BinaryOp(), clang::threadSafety::til::BinaryOp::binaryOpcode(), clang::threadSafety::til::Cast::Cast(), clang::threadSafety::til::Cast::castOpcode(), clang::threadSafety::til::Project::isArrow(), clang::threadSafety::til::Variable::kind(), clang::threadSafety::til::Alloc::kind(), clang::threadSafety::til::Project::setArrow(), clang::threadSafety::til::Variable::setKind(), clang::threadSafety::til::Phi::setStatus(), clang::threadSafety::til::Phi::status(), clang::threadSafety::til::UnaryOp::UnaryOp(), clang::threadSafety::til::UnaryOp::unaryOpcode(), and clang::threadSafety::til::Variable::Variable().
|
protected |
Definition at line 323 of file ThreadSafetyTIL.h.
Referenced by opcode().
|
protected |
Definition at line 324 of file ThreadSafetyTIL.h.
|
protected |
Definition at line 326 of file ThreadSafetyTIL.h.