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

Namespaces

 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  LiteralT
 
class  Literal
 
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 : unsigned char { UOP_Minus, UOP_BitNot, UOP_LogicNot }
 Opcode for unary arithmetic operations. More...
 
enum  TIL_BinaryOpcode : unsigned char {
  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 : unsigned char {
  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. More...
 
StringRef getBinaryOpcodeString (TIL_BinaryOpcode Op)
 Return the name of a binary opcode. More...
 
const SExprgetCanonicalVal (const SExpr *E)
 
SExprsimplifyToCanonicalVal (SExpr *E)
 
void simplifyIncompleteArg (til::Phi *Ph)
 

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 80 of file ThreadSafetyTIL.h.

Opcode for cast operations.

Enumerator
CAST_none 
CAST_extendNum 
CAST_truncNum 
CAST_toFloat 
CAST_toInt 
CAST_objToPtr 

Definition at line 100 of file ThreadSafetyTIL.h.

Enum for the different distinct classes of SExpr.

Definition at line 66 of file ThreadSafetyTIL.h.

Opcode for unary arithmetic operations.

Enumerator
UOP_Minus 
UOP_BitNot 
UOP_LogicNot 

Definition at line 73 of file ThreadSafetyTIL.h.

Function Documentation

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 16 of file ThreadSafetyTIL.cpp.

References UOP_BitNot, UOP_LogicNot, and UOP_Minus.

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

void clang::threadSafety::til::simplifyIncompleteArg ( til::Phi Ph)
SExpr * clang::threadSafety::til::simplifyToCanonicalVal ( SExpr E)

Variable Documentation

const TIL_BinaryOpcode clang::threadSafety::til::BOP_Max = BOP_LogicOr

Definition at line 114 of file ThreadSafetyTIL.h.

const TIL_BinaryOpcode clang::threadSafety::til::BOP_Min = BOP_Add

Definition at line 113 of file ThreadSafetyTIL.h.

const TIL_CastOpcode clang::threadSafety::til::CAST_Max = CAST_toInt

Definition at line 116 of file ThreadSafetyTIL.h.

const TIL_CastOpcode clang::threadSafety::til::CAST_Min = CAST_none

Definition at line 115 of file ThreadSafetyTIL.h.

const TIL_Opcode clang::threadSafety::til::COP_Max = COP_Branch

Definition at line 110 of file ThreadSafetyTIL.h.

const TIL_Opcode clang::threadSafety::til::COP_Min = COP_Future

Definition at line 109 of file ThreadSafetyTIL.h.

const TIL_UnaryOpcode clang::threadSafety::til::UOP_Max = UOP_LogicNot

Definition at line 112 of file ThreadSafetyTIL.h.

const TIL_UnaryOpcode clang::threadSafety::til::UOP_Min = UOP_Minus

Definition at line 111 of file ThreadSafetyTIL.h.