clang  3.7.0
Public Member Functions | Static Public Member Functions | List of all members
clang::threadSafety::til::Branch Class Reference

#include <ThreadSafetyTIL.h>

Inheritance diagram for clang::threadSafety::til::Branch:
[legend]
Collaboration diagram for clang::threadSafety::til::Branch:
[legend]

Public Member Functions

 Branch (SExpr *C, BasicBlock *T, BasicBlock *E)
 
 Branch (const Branch &Br, SExpr *C, BasicBlock *T, BasicBlock *E)
 
const SExprcondition () const
 
SExprcondition ()
 
const BasicBlockthenBlock () const
 
BasicBlockthenBlock ()
 
const BasicBlockelseBlock () const
 
BasicBlockelseBlock ()
 
ArrayRef< BasicBlock * > successors ()
 Return the list of basic blocks that this terminator can branch to. More...
 
template<class V >
V::R_SExpr traverse (V &Vs, typename V::R_Ctx Ctx)
 
template<class C >
C::CType compare (const Branch *E, C &Cmp) const
 
- Public Member Functions inherited from clang::threadSafety::til::Terminator
ArrayRef< BasicBlock * > successors ()
 Return the list of basic blocks that this terminator can branch to. More...
 
ArrayRef< BasicBlock * > successors () const
 
- Public Member Functions inherited from clang::threadSafety::til::SExpr
TIL_Opcode opcode () const
 
void * operator new (size_t S, MemRegionRef &R)
 
void operator delete (void *)=delete
 SExpr objects cannot be deleted. More...
 
unsigned id () const
 
BasicBlockblock () const
 
void setID (BasicBlock *B, unsigned id)
 Set the basic block and instruction ID for this expression. More...
 

Static Public Member Functions

static bool classof (const SExpr *E)
 
- Static Public Member Functions inherited from clang::threadSafety::til::Terminator
static bool classof (const SExpr *E)
 

Additional Inherited Members

- Protected Member Functions inherited from clang::threadSafety::til::Terminator
 Terminator (TIL_Opcode Op)
 
 Terminator (const SExpr &E)
 
- Protected Member Functions inherited from clang::threadSafety::til::SExpr
 SExpr (TIL_Opcode Op)
 
 SExpr (const SExpr &E)
 
- Protected Attributes inherited from clang::threadSafety::til::SExpr
const unsigned char Opcode
 
unsigned char Reserved
 
unsigned short Flags
 
unsigned SExprID
 
BasicBlockBlock
 

Detailed Description

A conditional branch to two other blocks. Note that unlike Goto, Branch does not have an index. The target blocks must be child-blocks, and cannot have Phi nodes.

Definition at line 1422 of file ThreadSafetyTIL.h.

Constructor & Destructor Documentation

clang::threadSafety::til::Branch::Branch ( SExpr C,
BasicBlock T,
BasicBlock E 
)
inline

Definition at line 1426 of file ThreadSafetyTIL.h.

clang::threadSafety::til::Branch::Branch ( const Branch Br,
SExpr C,
BasicBlock T,
BasicBlock E 
)
inline

Definition at line 1431 of file ThreadSafetyTIL.h.

Member Function Documentation

static bool clang::threadSafety::til::Branch::classof ( const SExpr E)
inlinestatic

Definition at line 1424 of file ThreadSafetyTIL.h.

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

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

Definition at line 1460 of file ThreadSafetyTIL.h.

const SExpr* clang::threadSafety::til::Branch::condition ( ) const
inline
SExpr* clang::threadSafety::til::Branch::condition ( )
inline

Definition at line 1438 of file ThreadSafetyTIL.h.

const BasicBlock* clang::threadSafety::til::Branch::elseBlock ( ) const
inline
BasicBlock* clang::threadSafety::til::Branch::elseBlock ( )
inline

Definition at line 1444 of file ThreadSafetyTIL.h.

ArrayRef<BasicBlock*> clang::threadSafety::til::Branch::successors ( )
inline

Return the list of basic blocks that this terminator can branch to.

Definition at line 1447 of file ThreadSafetyTIL.h.

const BasicBlock* clang::threadSafety::til::Branch::thenBlock ( ) const
inline
BasicBlock* clang::threadSafety::til::Branch::thenBlock ( )
inline

Definition at line 1441 of file ThreadSafetyTIL.h.

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

Definition at line 1452 of file ThreadSafetyTIL.h.


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