clang API Documentation

Namespaces | Classes | Enumerations | Functions | Variables
clang::threadSafety::til Namespace Reference

Namespaces

namespace  ThreadSafetyTIL

Classes

struct  ValueType
class  SExpr
 Base class for AST nodes in the typed intermediate language. More...
class  Variable
class  Future
class  Undefined
 Placeholder for expressions that cannot be represented in the TIL. More...
class  Wildcard
 Placeholder for a wildcard that matches any other expression. More...
class  Literal
class  LiteralT
class  LiteralPtr
class  Function
class  SFunction
class  Code
 A block of code -- e.g. the body of a function. More...
class  Field
 A typed, writable location in memory. More...
class  Apply
class  SApply
 Apply a self-argument to a self-applicable function. More...
class  Project
 Project a named slot from a C++ struct or class. More...
class  Call
 Call a function (after all arguments have been applied). More...
class  Alloc
 Allocate memory for a new value on the heap or stack. More...
class  Load
 Load a value from memory. More...
class  Store
class  ArrayIndex
class  ArrayAdd
class  UnaryOp
class  BinaryOp
class  Cast
class  Phi
class  Terminator
 Base class for basic block terminators: Branch, Goto, and Return. More...
class  Goto
class  Branch
class  Return
class  BasicBlock
class  SCFG
class  Identifier
class  IfThenElse
class  Let
class  Traversal
class  SimpleReducerBase
class  CopyReducerBase
class  VisitReducerBase
class  VisitReducer
class  Comparator
class  EqualsComparator
class  MatchComparator
class  PrettyPrinter
class  StdPrinter
class  MemRegionRef
class  SimpleArray

Enumerations

enum  TIL_Opcode
 Enum for the different distinct classes of SExpr. More...
enum  TIL_UnaryOpcode { UOP_Minus, UOP_BitNot, UOP_LogicNot }
 Opcode for unary arithmetic operations. More...
enum  TIL_BinaryOpcode {
  BOP_Add, BOP_Sub, BOP_Mul, BOP_Div,
  BOP_Rem, BOP_Shl, BOP_Shr, BOP_BitAnd,
  BOP_BitXor, BOP_BitOr, BOP_Eq, BOP_Neq,
  BOP_Lt, BOP_Leq, BOP_LogicAnd, BOP_LogicOr
}
 Opcode for binary arithmetic operations. More...
enum  TIL_CastOpcode {
  CAST_none = 0, CAST_extendNum, CAST_truncNum, CAST_toFloat,
  CAST_toInt, CAST_objToPtr
}
 Opcode for cast operations. More...

Functions

StringRef getUnaryOpcodeString (TIL_UnaryOpcode Op)
 Return the name of a unary opcode.
StringRef getBinaryOpcodeString (TIL_BinaryOpcode Op)
 Return the name of a binary opcode.
const SExprgetCanonicalVal (const SExpr *E)
SExprsimplifyToCanonicalVal (SExpr *E)
void simplifyIncompleteArg (til::Phi *Ph)
static bool isIncompletePhi (const SExpr *E)
static void computeNodeSize (BasicBlock *B, BasicBlock::TopologyNode BasicBlock::*TN)
static void computeNodeID (BasicBlock *B, BasicBlock::TopologyNode BasicBlock::*TN)

Variables

const TIL_Opcode COP_Min = COP_Future
const TIL_Opcode COP_Max = COP_Branch
const TIL_UnaryOpcode UOP_Min = UOP_Minus
const TIL_UnaryOpcode UOP_Max = UOP_LogicNot
const TIL_BinaryOpcode BOP_Min = BOP_Add
const TIL_BinaryOpcode BOP_Max = BOP_LogicOr
const TIL_CastOpcode CAST_Min = CAST_none
const TIL_CastOpcode CAST_Max = CAST_toInt

Enumeration Type Documentation

Opcode for binary arithmetic operations.

Enumerator:
BOP_Add 
BOP_Sub 
BOP_Mul 
BOP_Div 
BOP_Rem 
BOP_Shl 
BOP_Shr 
BOP_BitAnd 
BOP_BitXor 
BOP_BitOr 
BOP_Eq 
BOP_Neq 
BOP_Lt 
BOP_Leq 
BOP_LogicAnd 
BOP_LogicOr 

Definition at line 81 of file ThreadSafetyTIL.h.

Opcode for cast operations.

Enumerator:
CAST_none 
CAST_extendNum 
CAST_truncNum 
CAST_toFloat 
CAST_toInt 
CAST_objToPtr 

Definition at line 101 of file ThreadSafetyTIL.h.

Enum for the different distinct classes of SExpr.

Definition at line 67 of file ThreadSafetyTIL.h.

Opcode for unary arithmetic operations.

Enumerator:
UOP_Minus 
UOP_BitNot 
UOP_LogicNot 

Definition at line 74 of file ThreadSafetyTIL.h.


Function Documentation

static void clang::threadSafety::til::computeNodeID ( BasicBlock *  B,
BasicBlock::TopologyNode BasicBlock::*  TN 
) [inline, static]
static void clang::threadSafety::til::computeNodeSize ( BasicBlock *  B,
BasicBlock::TopologyNode BasicBlock::*  TN 
) [inline, static]
StringRef clang::threadSafety::til::getBinaryOpcodeString ( TIL_BinaryOpcode  Op)
const SExpr * clang::threadSafety::til::getCanonicalVal ( const SExpr *  E)
StringRef clang::threadSafety::til::getUnaryOpcodeString ( TIL_UnaryOpcode  Op)

Return the name of a unary opcode.

Definition at line 18 of file ThreadSafetyTIL.cpp.

References UOP_BitNot, UOP_LogicNot, and UOP_Minus.

Referenced by clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printUnaryOp().

static bool clang::threadSafety::til::isIncompletePhi ( const SExpr *  E) [static]

Variable Documentation

Definition at line 115 of file ThreadSafetyTIL.h.

Definition at line 114 of file ThreadSafetyTIL.h.

Definition at line 117 of file ThreadSafetyTIL.h.

Definition at line 116 of file ThreadSafetyTIL.h.

Definition at line 111 of file ThreadSafetyTIL.h.

Definition at line 110 of file ThreadSafetyTIL.h.

Definition at line 113 of file ThreadSafetyTIL.h.

Definition at line 112 of file ThreadSafetyTIL.h.