[−][src]Module souper_ir::ast
Abstract syntax tree type definitions.
Structs
Arena | An arena of objects of type |
Assignment | An assignment, defining a value. |
Block | A basic block. |
BlockId | An identifier for a defined block. |
BlockPc | A block path condition. |
Cand | A candidate rewrite. |
Constant | A constant value. |
Id | An identifier for an object allocated within an arena. |
Infer | The root of a left-hand side. |
LeftHandSide | The left-hand side of a replacement. |
LeftHandSideBuilder | A builder for a |
Pc | A path condition. |
Phi | A phi node. |
ReplacementBuilder | A builder for a |
RightHandSide | The right-hand side of a replacement. |
Type | A type. |
ValueId | An identifier for a value defined by an assignment. |
Var | An input variable. |
Enums
AssignmentRhs | Any value that can be assigned to a name. |
Attribute | Attributes describing data-flow facts known about a particular value or result of an instruction. |
Instruction | A Souper instruction. |
Operand | An operand for an instruction or some other kind of operation. |
Replacement | A complete optimization that replaces a left-hand side with a right-hand side. |
RootAttribute | Attributes describing data-flow facts known about the root of a left- or right-hand side. |
Statement | A statement in a LHS or RHS. |