Reference: Abstract Syntax Trees

New in version 2014.1.

Symbolic Constants

class islpy.ast_expr_op_type
access = <ast_expr_op_type.access: 23>
add = <ast_expr_op_type.add: 7>
address_of = <ast_expr_op_type.address_of: 25>
and_ = <ast_expr_op_type.and_: 0>
and_then = <ast_expr_op_type.and_then: 1>
call = <ast_expr_op_type.call: 22>
cond = <ast_expr_op_type.cond: 15>
div = <ast_expr_op_type.div: 10>
eq = <ast_expr_op_type.eq: 17>
error = <ast_expr_op_type.error: -1>
fdiv_q = <ast_expr_op_type.fdiv_q: 11>
ge = <ast_expr_op_type.ge: 20>
gt = <ast_expr_op_type.gt: 21>
le = <ast_expr_op_type.le: 18>
lt = <ast_expr_op_type.lt: 19>
max = <ast_expr_op_type.max: 4>
member = <ast_expr_op_type.member: 24>
min = <ast_expr_op_type.min: 5>
minus = <ast_expr_op_type.minus: 6>
mul = <ast_expr_op_type.mul: 9>
property name
or_ = <ast_expr_op_type.or_: 2>
or_else = <ast_expr_op_type.or_else: 3>
pdiv_q = <ast_expr_op_type.pdiv_q: 12>
pdiv_r = <ast_expr_op_type.pdiv_r: 13>
select = <ast_expr_op_type.select: 16>
sub = <ast_expr_op_type.sub: 8>
zdiv_r = <ast_expr_op_type.zdiv_r: 14>
class islpy.ast_expr_type
error = <ast_expr_type.error: -1>
id = <ast_expr_type.id: 1>
int = <ast_expr_type.int: 2>
property name
op = <ast_expr_type.op: 0>
class islpy.ast_node_type
block = <ast_node_type.block: 3>
error = <ast_node_type.error: -1>
for_ = <ast_node_type.for_: 1>
if_ = <ast_node_type.if_: 2>
property name
user = <ast_node_type.user: 5>
class islpy.ast_loop_type
atomic = <ast_loop_type.atomic: 1>
default = <ast_loop_type.default: 0>
error = <ast_loop_type.error: -1>
property name
separate = <ast_loop_type.separate: 3>
unroll = <ast_loop_type.unroll: 2>

AST Expression

class islpy.AstExpr
__eq__(other)

Return self==value.

__hash__()

Return hash(self).

__ne__(other)

Return self!=value.

access(self, indices)
Parameters
Returns

AstExpr

add(self, expr2)
Parameters
Returns

AstExpr

address_of(self)
Parameters

selfAstExpr

Returns

AstExpr

and_(self, expr2)
Parameters
Returns

AstExpr

and_then(self, expr2)
Parameters
Returns

AstExpr

call(self, arguments)
Parameters
Returns

AstExpr

copy(self)
Parameters

selfAstExpr

Returns

AstExpr

div(self, expr2)
Parameters
Returns

AstExpr

dump(self)
Parameters

selfAstExpr

Returns

None

eq(self, expr2)
Parameters
Returns

AstExpr

static from_id(id)
Parameters

idId

Returns

AstExpr

static from_val(v)
Parameters

vVal

Returns

AstExpr

ge(self, expr2)
Parameters
Returns

AstExpr

get_ctx(self)
Parameters

selfAstExpr

Returns

Context

get_id(self)
Parameters

selfAstExpr

Returns

Id

get_op_arg(self, pos)
Parameters
Returns

AstExpr

get_op_n_arg(self)
Parameters

selfAstExpr

Returns

isl_size

get_op_type(self)
Parameters

selfAstExpr

Returns

isl_ast_expr_op_type

get_type(self)
Parameters

selfAstExpr

Returns

isl_ast_expr_type

get_val(self)
Parameters

selfAstExpr

Returns

Val

gt(self, expr2)
Parameters
Returns

AstExpr

id_get_id(self)
Parameters

selfAstExpr

Returns

Id

int_get_val(self)
Parameters

selfAstExpr

Returns

Val

is_equal(self, expr2)
Parameters
Returns

bool

le(self, expr2)
Parameters
Returns

AstExpr

lt(self, expr2)
Parameters
Returns

AstExpr

mul(self, expr2)
Parameters
Returns

AstExpr

neg(self)
Parameters

selfAstExpr

Returns

AstExpr

op_get_arg(self, pos)
Parameters
Returns

AstExpr

op_get_n_arg(self)
Parameters

selfAstExpr

Returns

isl_size

op_get_type(self)
Parameters

selfAstExpr

Returns

isl_ast_expr_op_type

op_type_print_macro(self, p)
Parameters
Returns

Printer

static op_type_set_print_name(p, type, name)
Parameters
Returns

Printer

or_(self, expr2)
Parameters
Returns

AstExpr

or_else(self, expr2)
Parameters
Returns

AstExpr

pdiv_q(self, expr2)
Parameters
Returns

AstExpr

pdiv_r(self, expr2)
Parameters
Returns

AstExpr

print_macros(self, p)
Parameters
Returns

Printer

set_op_arg(self, pos, arg)
Parameters
Returns

AstExpr

sub(self, expr2)
Parameters
Returns

AstExpr

substitute_ids(self, id2expr)
Parameters
Returns

AstExpr

to_C_str(self)
Parameters

selfAstExpr

Returns

string

to_str(self)
Parameters

selfAstExpr

Returns

string

AST Node

class islpy.AstNode
__eq__(value, /)

Return self==value.

__hash__()

Return hash(self).

__ne__(value, /)

Return self!=value.

static alloc_user(expr)
Parameters

exprAstExpr

Returns

AstNode

block_get_children(self)
Parameters

selfAstNode

Returns

AstNodeList

copy(self)
Parameters

selfAstNode

Returns

AstNode

dump(self)
Parameters

selfAstNode

Returns

None

for_get_body(self)
Parameters

selfAstNode

Returns

AstNode

for_get_cond(self)
Parameters

selfAstNode

Returns

AstExpr

for_get_inc(self)
Parameters

selfAstNode

Returns

AstExpr

for_get_init(self)
Parameters

selfAstNode

Returns

AstExpr

for_get_iterator(self)
Parameters

selfAstNode

Returns

AstExpr

for_is_degenerate(self)
Parameters

selfAstNode

Returns

bool

for_print(self, p, options)
Parameters
Returns

Printer

foreach_descendant_top_down(self, fn)
Parameters
  • selfAstNode

  • fn – callback(node)

Returns

isl_stat

get_annotation(self)
Parameters

selfAstNode

Returns

Id

get_ctx(self)
Parameters

selfAstNode

Returns

Context

get_type(self)
Parameters

selfAstNode

Returns

isl_ast_node_type

if_get_cond(self)
Parameters

selfAstNode

Returns

AstExpr

if_get_else(self)
Parameters

selfAstNode

Returns

AstNode

if_get_else_node(self)
Parameters

selfAstNode

Returns

AstNode

if_get_then(self)
Parameters

selfAstNode

Returns

AstNode

if_get_then_node(self)
Parameters

selfAstNode

Returns

AstNode

if_has_else(self)
Parameters

selfAstNode

Returns

bool

if_has_else_node(self)
Parameters

selfAstNode

Returns

bool

if_print(self, p, options)
Parameters
Returns

Printer

mark_get_id(self)
Parameters

selfAstNode

Returns

Id

mark_get_node(self)
Parameters

selfAstNode

Returns

AstNode

print_(self, p, options)
Parameters
Returns

Printer

print_macros(self, p)
Parameters
Returns

Printer

set_annotation(self, annotation)
Parameters
Returns

AstNode

to_C_str(self)
Parameters

selfAstNode

Returns

string

to_str(self)
Parameters

selfAstNode

Returns

string

user_get_expr(self)
Parameters

selfAstNode

Returns

AstExpr

AST Build

class islpy.AstBuild
__eq__(value, /)

Return self==value.

__hash__()

Return hash(self).

__ne__(value, /)

Return self!=value.

access_from_multi_pw_aff(self, mpa)
Parameters
Returns

AstExpr

access_from_pw_multi_aff(self, pma)
Parameters
Returns

AstExpr

static alloc(ctx)
Parameters

ctxContext

Returns

AstBuild

ast_from_schedule(self, schedule)
Parameters
Returns

AstNode

call_from_multi_pw_aff(self, mpa)
Parameters
Returns

AstExpr

call_from_pw_multi_aff(self, pma)
Parameters
Returns

AstExpr

copy(self)
Parameters

selfAstBuild

Returns

AstBuild

expr_from_pw_aff(self, pa)
Parameters
Returns

AstExpr

expr_from_set(self, set)
Parameters
Returns

AstExpr

static from_context(set)
Parameters

setSet

Returns

AstBuild

get_ctx(self)
Parameters

selfAstBuild

Returns

Context

get_schedule(self)
Parameters

selfAstBuild

Returns

UnionMap

get_schedule_space(self)
Parameters

selfAstBuild

Returns

Space

node_from_schedule(self, schedule)
Parameters
Returns

AstNode

node_from_schedule_map(self, schedule)
Parameters
Returns

AstNode

restrict(self, set)
Parameters
Returns

AstBuild

set_after_each_for(self, fn)
Parameters
  • selfAstBuild

  • fn – callback(node, build)

Returns

tuple: (AstBuild, (opaque handle to manage callback lifetime))

set_after_each_mark(self, fn)
Parameters
  • selfAstBuild

  • fn – callback(node, build)

Returns

tuple: (AstBuild, (opaque handle to manage callback lifetime))

set_at_each_domain(self, fn)
Parameters
  • selfAstBuild

  • fn – callback(node, build)

Returns

tuple: (AstBuild, (opaque handle to manage callback lifetime))

set_before_each_for(self, fn)
Parameters
  • selfAstBuild

  • fn – callback(build)

Returns

tuple: (AstBuild, (opaque handle to manage callback lifetime))

set_before_each_mark(self, fn)
Parameters
  • selfAstBuild

  • fn – callback(mark, build)

Returns

tuple: (AstBuild, (opaque handle to manage callback lifetime))

set_create_leaf(self, fn)
Parameters
  • selfAstBuild

  • fn – callback(build)

Returns

tuple: (AstBuild, (opaque handle to manage callback lifetime))

set_iterators(self, iterators)
Parameters
Returns

AstBuild

set_options(self, options)
Parameters
Returns

AstBuild

AST Print Options

class islpy.AstPrintOptions
__eq__(value, /)

Return self==value.

__hash__()

Return hash(self).

__ne__(value, /)

Return self!=value.

static alloc(ctx)
Parameters

ctxContext

Returns

AstPrintOptions

copy(self)
Parameters

selfAstPrintOptions

Returns

AstPrintOptions

get_ctx(self)
Parameters

selfAstPrintOptions

Returns

Context

set_print_for(self, print_for)
Parameters
Returns

tuple: (AstPrintOptions, (opaque handle to manage callback lifetime))

set_print_user(self, print_user)
Parameters
Returns

tuple: (AstPrintOptions, (opaque handle to manage callback lifetime))

Canonical Names for Internal Module

class islpy._isl.ast_expr_op_type

See islpy.ast_expr_op_type.

class islpy._isl.ast_expr_type

See islpy.ast_expr_type.

class islpy._isl.ast_node_type

See islpy.ast_node_type.

class islpy._isl.ast_loop_type

See islpy.ast_loop_type.

class islpy._isl.AstExpr

See islpy.AstExpr.

class islpy._isl.AstNode

See islpy.AstNode.

class islpy._isl.AstBuild

See islpy.AstBuild.

class islpy._isl.AstPrintOptions

See islpy.AstPrintOptions.