class Branch
Declaration
class Branch : public Terminator { /* full declaration omitted */ };
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.
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1407
Inherits from: Terminator
Member Variables
- private clang::threadSafety::til::SExpr* Condition
- private clang::threadSafety::til::BasicBlock* [2] Branches
Inherited from SExpr:
- protected Opcode
- protected Reserved = 0
- protected Flags = 0
- protected SExprID = 0
- protected Block = nullptr
Method Overview
- public Branch(clang::threadSafety::til::SExpr * C, clang::threadSafety::til::BasicBlock * T, clang::threadSafety::til::BasicBlock * E)
- public Branch(const clang::threadSafety::til::Branch & Br, clang::threadSafety::til::SExpr * C, clang::threadSafety::til::BasicBlock * T, clang::threadSafety::til::BasicBlock * E)
- public static bool classof(const clang::threadSafety::til::SExpr * E)
- public template <class C>typename C::CType compare(const clang::threadSafety::til::Branch * E, C & Cmp) const
- public const clang::threadSafety::til::SExpr * condition() const
- public clang::threadSafety::til::SExpr * condition()
- public const clang::threadSafety::til::BasicBlock * elseBlock() const
- public clang::threadSafety::til::BasicBlock * elseBlock()
- public ArrayRef<clang::threadSafety::til::BasicBlock *> successors()
- public const clang::threadSafety::til::BasicBlock * thenBlock() const
- public clang::threadSafety::til::BasicBlock * thenBlock()
- public template <class V>typename V::R_SExpr traverse(V & Vs, typename V::R_Ctx Ctx)
Inherited from Terminator:
Inherited from SExpr:
Methods
¶Branch(clang::threadSafety::til::SExpr* C,
clang::threadSafety::til::BasicBlock* T,
clang::threadSafety::til::BasicBlock* E)
Branch(clang::threadSafety::til::SExpr* C,
clang::threadSafety::til::BasicBlock* T,
clang::threadSafety::til::BasicBlock* E)
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1409
Parameters
- clang::threadSafety::til::SExpr* C
- clang::threadSafety::til::BasicBlock* T
- clang::threadSafety::til::BasicBlock* E
¶Branch(const clang::threadSafety::til::Branch& Br,
clang::threadSafety::til::SExpr* C,
clang::threadSafety::til::BasicBlock* T,
clang::threadSafety::til::BasicBlock* E)
Branch(const clang::threadSafety::til::Branch& Br,
clang::threadSafety::til::SExpr* C,
clang::threadSafety::til::BasicBlock* T,
clang::threadSafety::til::BasicBlock* E)
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1415
Parameters
- const clang::threadSafety::til::Branch& Br
- clang::threadSafety::til::SExpr* C
- clang::threadSafety::til::BasicBlock* T
- clang::threadSafety::til::BasicBlock* E
¶static bool classof(
const clang::threadSafety::til::SExpr* E)
static bool classof(
const clang::threadSafety::til::SExpr* E)
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1421
Parameters
- const clang::threadSafety::til::SExpr* E
¶template <class C>
typename C::CType compare(
const clang::threadSafety::til::Branch* E,
C& Cmp) const
template <class C>
typename C::CType compare(
const clang::threadSafety::til::Branch* E,
C& Cmp) const
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1446
Templates
- C
Parameters
- const clang::threadSafety::til::Branch* E
- C& Cmp
¶const clang::threadSafety::til::SExpr* condition()
const
const clang::threadSafety::til::SExpr* condition()
const
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1423
¶clang::threadSafety::til::SExpr* condition()
clang::threadSafety::til::SExpr* condition()
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1424
¶const clang::threadSafety::til::BasicBlock*
elseBlock() const
const clang::threadSafety::til::BasicBlock*
elseBlock() const
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1429
¶clang::threadSafety::til::BasicBlock* elseBlock()
clang::threadSafety::til::BasicBlock* elseBlock()
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1430
¶ArrayRef<clang::threadSafety::til::BasicBlock*>
successors()
ArrayRef<clang::threadSafety::til::BasicBlock*>
successors()
Description
Return the list of basic blocks that this terminator can branch to.
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1433
¶const clang::threadSafety::til::BasicBlock*
thenBlock() const
const clang::threadSafety::til::BasicBlock*
thenBlock() const
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1426
¶clang::threadSafety::til::BasicBlock* thenBlock()
clang::threadSafety::til::BasicBlock* thenBlock()
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1427
¶template <class V>
typename V::R_SExpr traverse(
V& Vs,
typename V::R_Ctx Ctx)
template <class V>
typename V::R_SExpr traverse(
V& Vs,
typename V::R_Ctx Ctx)
Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1438
Templates
- V
Parameters
- V& Vs
- typename V::R_Ctx Ctx