|
clang 22.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 92 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 113 of file ThreadSafetyTIL.h.
| enum clang::threadSafety::til::TIL_Opcode : unsigned char |
Enum for the different distinct classes of SExpr.
Definition at line 78 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 85 of file ThreadSafetyTIL.h.
| StringRef clang::threadSafety::til::getBinaryOpcodeString | ( | TIL_BinaryOpcode | Op | ) |
Return the name of a binary opcode.
Definition at line 27 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 81 of file ThreadSafetyTIL.cpp.
References 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 18 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 132 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 103 of file ThreadSafetyTIL.cpp.
References 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 137 of file ThreadSafetyTIL.h.
| const TIL_BinaryOpcode clang::threadSafety::til::BOP_Min = BOP_Add |
Definition at line 136 of file ThreadSafetyTIL.h.
| const TIL_CastOpcode clang::threadSafety::til::CAST_Max = CAST_toInt |
Definition at line 139 of file ThreadSafetyTIL.h.
| const TIL_CastOpcode clang::threadSafety::til::CAST_Min = CAST_none |
Definition at line 138 of file ThreadSafetyTIL.h.
| const TIL_Opcode clang::threadSafety::til::COP_Max = COP_Branch |
Definition at line 133 of file ThreadSafetyTIL.h.
| const TIL_Opcode clang::threadSafety::til::COP_Min = COP_Future |
Definition at line 132 of file ThreadSafetyTIL.h.
| const TIL_UnaryOpcode clang::threadSafety::til::UOP_Max = UOP_LogicNot |
Definition at line 135 of file ThreadSafetyTIL.h.
| const TIL_UnaryOpcode clang::threadSafety::til::UOP_Min = UOP_Minus |
Definition at line 134 of file ThreadSafetyTIL.h.