Base for PENCIL non-scalar (array) expressions.
Trait for all array subscription expressions.
Array type representation.
Provides basic mechanism to handle internal compiler errors.
PENCIL assignment operation.
pencil_assume built-in function.
PENCIL block operation.
Boolean type representation.
PENCIL break operation.
Represents the call graph of the PENCIL program.
PENCIL call operation.
Provides compile time consistency checks for internal PENCIL representation.
Hosts some common operations over PENCIL expressions.
Hosts some common operations over PENCIL statements.
Trait for all constants.
PENCIL continue operation.
pencil_def built-in function.
Set of reaching definitions for a given variable reference.
This object specifies a set of scalar variables, defined in a BlockOperation it is attached to.
Trait for double argument expressions.
Base for all PENCIL expressions.
Base for pass-specific information, attachable to expression objects.
Provides def default expression walker.
Floating point type representation.
PENCIL for operation.
Base class for for' loop properties.
PENCIL function.
Provides function cloning functionality.
PENCIL if operation.
This property indicates that loop statements labels' have no loop carried dependencies.
If the statement list is omitted, all statements are considered as having no loop carried dependencies.
Integer (signed and unsigned) type representation.
pencil_kill built-in function.
Trait to be mixed to any expression, which can serve as lvalue.
Base class for all PENCIL operations.
Base for pass-specific information, attachable to operation object.
Trait for PENCIL built-in functions.
Pointer type representation.
Generates a string representation of the PENCIL program.
PENCIL program.
Iteration range representation.
Set of scalar variable references, reachable by annotated assignment operation.
PENCIL return operation.
Base for PENCIL scalar expressions.
Trait for scalar binary expression, with result type equal to the type of the operands.
Trait for scalar unary expression, with result type equal to the type of the operands.
Base class for scalar types.
Trait for single argument expressions.
Trait for all struct subscription expressions.
Structural type representation.
Trait for triple argument expressions.
Base type for every PENCIL type.
pencil_use built-in function.
Trait to be mixed with all variable definitions.
Trait to be mixed with all variable references.
Provides the default program tree walker.
This class represents a Walker configuration.
PENCIL while operation.
Provides base implementation of the Assertable trait.
PENCIL built-in functions.
Provides base implementation of the Checks trait.
This object assigns each variable to the block, where this variable should be declared.
Pool of common integer constants.
Counter used to assignment unique ids to variables and functions.
Computes a set of scalar variables, referenced in a given expression.
Clone an expression, such that no duplicate xxxVariableRefs are introduced.
General numeric type.
This property indicates that the corresponding loop is marked as a candidate for vectorization.
Lower raw PENCIL variables, generated by front-ends, to references.
Void type representation.
Updates the parent information for PENCIL statements.
Implements reaching definition analysis.
Contains predefined walker configurations.
Provides base implementation of the compile-time warnings.