clang 20.0.0git
|
Namespaces | |
namespace | ThreadSafetyTIL |
Classes | |
class | Alloc |
Allocate memory for a new value on the heap or stack. More... | |
class | Apply |
Apply an argument to a function. More... | |
class | ArrayAdd |
Pointer arithmetic, restricted to arrays only. More... | |
class | ArrayIndex |
If p is a reference to an array, then p[i] is a reference to the i'th element of the array. More... | |
class | BasicBlock |
A basic block is part of an SCFG. More... | |
class | BinaryOp |
Simple arithmetic binary operations, e.g. More... | |
class | Branch |
A conditional branch to two other blocks. More... | |
class | Call |
Call a function (after all arguments have been applied). More... | |
class | Cast |
Cast expressions. More... | |
class | Code |
A block of code – e.g. the body of a function. More... | |
class | Comparator |
class | CopyReducerBase |
class | EqualsComparator |
class | Field |
A typed, writable location in memory. More... | |
class | Function |
A function – a.k.a. More... | |
class | Future |
Placeholder for an expression that has not yet been created. More... | |
class | Goto |
Jump to another basic block. More... | |
class | Identifier |
An identifier, e.g. More... | |
class | IfThenElse |
An if-then-else expression. More... | |
class | Let |
A let-expression, e.g. More... | |
class | Literal |
class | LiteralPtr |
A Literal pointer to an object allocated in memory. More... | |
class | LiteralT |
class | Load |
Load a value from memory. More... | |
class | MatchComparator |
class | MemRegionRef |
class | Phi |
Phi Node, for code in SSA form. More... | |
class | PrettyPrinter |
class | Project |
Project a named slot from a C++ struct or class. More... | |
class | Return |
Return from the enclosing function, passing the return value to the caller. More... | |
class | SApply |
Apply a self-argument to a self-applicable function. More... | |
class | SCFG |
An SCFG is a control-flow graph. More... | |
class | SExpr |
Base class for AST nodes in the typed intermediate language. More... | |
class | SFunction |
A self-applicable function. More... | |
class | SimpleArray |
class | SimpleReducerBase |
class | StdPrinter |
class | Store |
Store a value to memory. More... | |
class | Terminator |
Base class for basic block terminators: Branch, Goto, and Return. More... | |
class | Traversal |
class | UnaryOp |
Simple arithmetic unary operations, e.g. More... | |
class | Undefined |
Placeholder for expressions that cannot be represented in the TIL. More... | |
struct | ValueType |
ValueTypes are data types that can actually be held in registers. More... | |
class | Variable |
A named variable, e.g. More... | |
class | VisitReducer |
class | VisitReducerBase |
class | Wildcard |
Placeholder for a wildcard that matches any other expression. More... | |
Enumerations | |
enum | TIL_Opcode : unsigned char |
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_Cmp , 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. | |
StringRef | getBinaryOpcodeString (TIL_BinaryOpcode Op) |
Return the name of a binary opcode. | |
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_Cmp | |
BOP_LogicAnd | |
BOP_LogicOr |
Definition at line 91 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 112 of file ThreadSafetyTIL.h.
enum clang::threadSafety::til::TIL_Opcode : unsigned char |
Enum for the different distinct classes of SExpr.
Definition at line 77 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 84 of file ThreadSafetyTIL.h.
StringRef clang::threadSafety::til::getBinaryOpcodeString | ( | TIL_BinaryOpcode | Op | ) |
Return the name of a binary opcode.
Definition at line 28 of file ThreadSafetyTIL.cpp.
References BOP_Add, BOP_BitAnd, BOP_BitOr, BOP_BitXor, BOP_Cmp, 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< Self, StreamType >::printBinaryOp().
Definition at line 82 of file ThreadSafetyTIL.cpp.
References E, clang::threadSafety::til::Phi::PH_SingleVal, V, 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 19 of file ThreadSafetyTIL.cpp.
References UOP_BitNot, UOP_LogicNot, and UOP_Minus.
Referenced by clang::threadSafety::til::PrettyPrinter< Self, StreamType >::printUnaryOp().
void clang::threadSafety::til::simplifyIncompleteArg | ( | til::Phi * | Ph | ) |
Definition at line 133 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 104 of file ThreadSafetyTIL.cpp.
References E, clang::threadSafety::til::ThreadSafetyTIL::isTrivial(), clang::threadSafety::til::Phi::PH_Incomplete, clang::threadSafety::til::Phi::PH_SingleVal, simplifyIncompleteArg(), V, and clang::threadSafety::til::Variable::VK_Let.
Referenced by simplifyIncompleteArg().
const TIL_BinaryOpcode clang::threadSafety::til::BOP_Max = BOP_LogicOr |
Definition at line 136 of file ThreadSafetyTIL.h.
const TIL_BinaryOpcode clang::threadSafety::til::BOP_Min = BOP_Add |
Definition at line 135 of file ThreadSafetyTIL.h.
const TIL_CastOpcode clang::threadSafety::til::CAST_Max = CAST_toInt |
Definition at line 138 of file ThreadSafetyTIL.h.
const TIL_CastOpcode clang::threadSafety::til::CAST_Min = CAST_none |
Definition at line 137 of file ThreadSafetyTIL.h.
const TIL_Opcode clang::threadSafety::til::COP_Max = COP_Branch |
Definition at line 132 of file ThreadSafetyTIL.h.
const TIL_Opcode clang::threadSafety::til::COP_Min = COP_Future |
Definition at line 131 of file ThreadSafetyTIL.h.
const TIL_UnaryOpcode clang::threadSafety::til::UOP_Max = UOP_LogicNot |
Definition at line 134 of file ThreadSafetyTIL.h.
const TIL_UnaryOpcode clang::threadSafety::til::UOP_Min = UOP_Minus |
Definition at line 133 of file ThreadSafetyTIL.h.