class Phi

Declaration

class Phi : public SExpr { /* full declaration omitted */ };

Description

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.

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1293

Inherits from: SExpr

Member Variables

private clang::threadSafety::til::Phi::ValArray Values
private const clang::ValueDecl* Cvdecl = nullptr

Inherited from SExpr:

protected Opcode
protected Reserved = 0
protected Flags = 0
protected SExprID = 0
protected Block = nullptr

Method Overview

  • public Phi()
  • public Phi(clang::threadSafety::til::MemRegionRef A, unsigned int Nvals)
  • public Phi(const clang::threadSafety::til::Phi & P, clang::threadSafety::til::Phi::ValArray && Vs)
  • public const clang::ValueDecl * clangDecl() const
  • public static bool classof(const clang::threadSafety::til::SExpr * E)
  • public template <class C>typename C::CType compare(const clang::threadSafety::til::Phi * E, C & Cmp) const
  • public void setClangDecl(const clang::ValueDecl * Cvd)
  • public void setStatus(clang::threadSafety::til::Phi::Status s)
  • public clang::threadSafety::til::Phi::Status status() const
  • public template <class V>typename V::R_SExpr traverse(V & Vs, typename V::R_Ctx Ctx)
  • public const clang::threadSafety::til::Phi::ValArray & values() const
  • public clang::threadSafety::til::Phi::ValArray & values()

Inherited from SExpr:

Methods

Phi()

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1306

Phi(clang::threadSafety::til::MemRegionRef A,
    unsigned int Nvals)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1307

Parameters

clang::threadSafety::til::MemRegionRef A
unsigned int Nvals

Phi(const clang::threadSafety::til::Phi& P,
    clang::threadSafety::til::Phi::ValArray&& Vs)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1308

Parameters

const clang::threadSafety::til::Phi& P
clang::threadSafety::til::Phi::ValArray&& Vs

const clang::ValueDecl* clangDecl() const

Description

Return the clang declaration of the variable for this Phi node, if any.

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1319

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

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1310

Parameters

const clang::threadSafety::til::SExpr* E

template <class C>
typename C::CType compare(
    const clang::threadSafety::til::Phi* E,
    C& Cmp) const

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1335

Templates

C

Parameters

const clang::threadSafety::til::Phi* E
C& Cmp

void setClangDecl(const clang::ValueDecl* Cvd)

Description

Set the clang variable associated with this Phi node.

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1322

Parameters

const clang::ValueDecl* Cvd

void setStatus(
    clang::threadSafety::til::Phi::Status s)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1316

Parameters

clang::threadSafety::til::Phi::Status s

clang::threadSafety::til::Phi::Status status()
    const

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1315

template <class V>
typename V::R_SExpr traverse(
    V& Vs,
    typename V::R_Ctx Ctx)

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1325

Templates

V

Parameters

V& Vs
typename V::R_Ctx Ctx

const clang::threadSafety::til::Phi::ValArray&
values() const

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1312

clang::threadSafety::til::Phi::ValArray& values()

Declared at: clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h:1313