clang API Documentation
Base class for AST nodes in the typed intermediate language. More...
#include <ThreadSafetyTIL.h>
Public Member Functions | |
TIL_Opcode | opcode () const |
void * | operator new (size_t S, MemRegionRef &R) |
void | operator delete (void *) LLVM_DELETED_FUNCTION |
SExpr objects cannot be deleted. | |
unsigned | id () const |
BasicBlock * | block () const |
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 unsigned char | Opcode |
unsigned char | Reserved |
unsigned short | Flags |
unsigned | SExprID |
BasicBlock * | Block |
Base class for AST nodes in the typed intermediate language.
Definition at line 261 of file ThreadSafetyTIL.h.
clang::threadSafety::til::SExpr::SExpr | ( | TIL_Opcode | Op | ) | [inline, protected] |
Definition at line 300 of file ThreadSafetyTIL.h.
clang::threadSafety::til::SExpr::SExpr | ( | const SExpr & | E | ) | [inline, protected] |
Definition at line 302 of file ThreadSafetyTIL.h.
BasicBlock* clang::threadSafety::til::SExpr::block | ( | ) | const [inline] |
Returns the block, if this is an instruction in a basic block, otherwise returns null.
Definition at line 294 of file ThreadSafetyTIL.h.
References Block.
Referenced by clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printSExpr().
unsigned clang::threadSafety::til::SExpr::id | ( | ) | const [inline] |
Returns the instruction ID for this expression. All basic block instructions have a unique ID (i.e. virtual register).
Definition at line 290 of file ThreadSafetyTIL.h.
References SExprID.
Referenced by clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printBBInstr(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printSExpr(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printVariable(), and setID().
TIL_Opcode clang::threadSafety::til::SExpr::opcode | ( | ) | const [inline] |
Definition at line 263 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< MatchComparator >::compareByCase(), clang::threadSafety::til::ThreadSafetyTIL::isTrivial(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::precedence(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printApply(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printBBInstr(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printCall(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printFunction(), clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printSExpr(), clang::threadSafety::til::Terminator::successors(), and clang::threadSafety::til::Traversal< Self, VisitReducerBase >::traverseByCase().
void clang::threadSafety::til::SExpr::operator delete | ( | void * | ) |
SExpr objects cannot be deleted.
void* clang::threadSafety::til::SExpr::operator new | ( | size_t | S, |
MemRegionRef & | R | ||
) | [inline] |
Definition at line 279 of file ThreadSafetyTIL.h.
void clang::threadSafety::til::SExpr::setID | ( | BasicBlock * | B, |
unsigned | id | ||
) | [inline] |
Set the basic block and instruction ID for this expression.
Definition at line 297 of file ThreadSafetyTIL.h.
BasicBlock* clang::threadSafety::til::SExpr::Block [protected] |
Definition at line 310 of file ThreadSafetyTIL.h.
Referenced by block(), clang::threadSafety::til::SCFG::computeNormalForm(), and setID().
unsigned short clang::threadSafety::til::SExpr::Flags [protected] |
Definition at line 308 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().
const unsigned char clang::threadSafety::til::SExpr::Opcode [protected] |
Definition at line 306 of file ThreadSafetyTIL.h.
Referenced by opcode().
unsigned char clang::threadSafety::til::SExpr::Reserved [protected] |
Definition at line 307 of file ThreadSafetyTIL.h.
unsigned clang::threadSafety::til::SExpr::SExprID [protected] |
Definition at line 309 of file ThreadSafetyTIL.h.