|
clang 23.0.0git
|
Phi Node, for code in SSA form. More...
#include "clang/Analysis/Analyses/ThreadSafetyTIL.h"
Public Types | |
| enum | Status { PH_MultiVal = 0 , PH_SingleVal , PH_Incomplete } |
| using | ValArray = SimpleArray<SExpr *> |
Public Member Functions | |
| Phi () | |
| Phi (MemRegionRef A, unsigned Nvals) | |
| Phi (const Phi &P, ValArray &&Vs) | |
| const ValArray & | values () const |
| ValArray & | values () |
| Status | status () const |
| void | setStatus (Status s) |
| const ValueDecl * | clangDecl () const |
| Return the clang declaration of the variable for this Phi node, if any. | |
| void | setClangDecl (const ValueDecl *Cvd) |
| Set the clang variable associated with this Phi node. | |
| template<class V> | |
| V::R_SExpr | traverse (V &Vs, typename V::R_Ctx Ctx) |
| template<class C> | |
| C::CType | compare (const Phi *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. | |
| 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. | |
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) | |
| SExpr & | operator= (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 |
| BasicBlock * | Block = nullptr |
Phi Node, for code in SSA form.
Each Phi node has an array of possible values that it can take, depending on where control flow comes from.
Definition at line 1210 of file ThreadSafetyTIL.h.
Definition at line 1212 of file ThreadSafetyTIL.h.
| Enumerator | |
|---|---|
| PH_MultiVal | |
| PH_SingleVal | |
| PH_Incomplete | |
Definition at line 1217 of file ThreadSafetyTIL.h.
|
inline |
Definition at line 1223 of file ThreadSafetyTIL.h.
References clang::threadSafety::til::SExpr::SExpr().
|
inline |
Definition at line 1224 of file ThreadSafetyTIL.h.
References clang::threadSafety::til::SExpr::SExpr().
Definition at line 1225 of file ThreadSafetyTIL.h.
References Phi(), and clang::threadSafety::til::SExpr::SExpr().
|
inline |
Return the clang declaration of the variable for this Phi node, if any.
Definition at line 1236 of file ThreadSafetyTIL.h.
Definition at line 1227 of file ThreadSafetyTIL.h.
References clang::threadSafety::til::SExpr::opcode(), and clang::threadSafety::til::SExpr::SExpr().
|
inline |
Definition at line 1252 of file ThreadSafetyTIL.h.
|
inline |
Set the clang variable associated with this Phi node.
Definition at line 1239 of file ThreadSafetyTIL.h.
|
inline |
Definition at line 1233 of file ThreadSafetyTIL.h.
References clang::threadSafety::til::SExpr::Flags, and s.
Referenced by clang::threadSafety::til::simplifyIncompleteArg().
|
inline |
Definition at line 1232 of file ThreadSafetyTIL.h.
References clang::threadSafety::til::SExpr::Flags.
Referenced by clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printPhi(), and clang::threadSafety::til::simplifyIncompleteArg().
|
inline |
Definition at line 1242 of file ThreadSafetyTIL.h.
References V.
|
inline |
Definition at line 1230 of file ThreadSafetyTIL.h.
|
inline |
Definition at line 1229 of file ThreadSafetyTIL.h.
Referenced by clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printPhi(), and clang::threadSafety::til::simplifyIncompleteArg().