clang
3.7.0
|
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 SExpr * | getCanonicalVal (const SExpr *E) |
SExpr * | simplifyToCanonicalVal (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 |
enum clang::threadSafety::til::TIL_BinaryOpcode : unsigned char |
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.
enum clang::threadSafety::til::TIL_CastOpcode : unsigned char |
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.
enum clang::threadSafety::til::TIL_UnaryOpcode : unsigned char |
Opcode for unary arithmetic operations.
Enumerator | |
---|---|
UOP_Minus | |
UOP_BitNot | |
UOP_LogicNot |
Definition at line 73 of file ThreadSafetyTIL.h.
StringRef clang::threadSafety::til::getBinaryOpcodeString | ( | TIL_BinaryOpcode | Op | ) |
Return the name of a binary opcode.
Definition at line 25 of file ThreadSafetyTIL.cpp.
References BOP_Add, BOP_BitAnd, BOP_BitOr, BOP_BitXor, BOP_Div, BOP_Eq, BOP_Leq, BOP_LogicAnd, BOP_LogicOr, BOP_Lt, BOP_Mul, BOP_Neq, BOP_Rem, BOP_Shl, BOP_Shr, and BOP_Sub.
Referenced by clang::threadSafety::til::PrettyPrinter< StdPrinter, std::ostream >::printBinaryOp().
Definition at line 82 of file ThreadSafetyTIL.cpp.
References clang::threadSafety::til::Phi::PH_SingleVal, and clang::threadSafety::til::Variable::VK_Let.
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 | ) |
Definition at line 135 of file ThreadSafetyTIL.cpp.
References clang::threadSafety::til::Phi::PH_Incomplete, clang::threadSafety::til::Phi::PH_MultiVal, clang::threadSafety::til::Phi::PH_SingleVal, clang::threadSafety::til::Phi::setStatus(), simplifyToCanonicalVal(), clang::threadSafety::til::SimpleArray< T >::size(), clang::threadSafety::til::Phi::status(), and clang::threadSafety::til::Phi::values().
Referenced by simplifyToCanonicalVal().
Definition at line 105 of file ThreadSafetyTIL.cpp.
References clang::threadSafety::til::ThreadSafetyTIL::isTrivial(), clang::threadSafety::til::Phi::PH_Incomplete, clang::threadSafety::til::Phi::PH_SingleVal, simplifyIncompleteArg(), and clang::threadSafety::til::Variable::VK_Let.
Referenced by simplifyIncompleteArg().
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.