loki.transformations.tests.test_transform_loop

Functions

test_transform_loop_fission_collapse(...)

test_transform_loop_fission_multiple(...)

test_transform_loop_fission_multiple_promote(...)

test_transform_loop_fission_nested(tmp_path, ...)

test_transform_loop_fission_nested_promote(...)

test_transform_loop_fission_promote(...)

test_transform_loop_fission_promote_array(...)

test_transform_loop_fission_promote_conflicting_lengths(...)

test_transform_loop_fission_promote_multiple(...)

test_transform_loop_fission_promote_multiple_read_after_write(...)

test_transform_loop_fission_promote_read_after_write(...)

test_transform_loop_fission_single(tmp_path, ...)

test_transform_loop_fuse_alignment(tmp_path, ...)

test_transform_loop_fuse_collapse(tmp_path, ...)

test_transform_loop_fuse_collapse_nonmatching(...)

test_transform_loop_fuse_collapse_range(...)

test_transform_loop_fuse_failures(frontend)

Test that loop-fusion fails for known mistakes.

test_transform_loop_fuse_groups(tmp_path, ...)

Apply loop fusion for multiple loop fusion groups.

test_transform_loop_fuse_matching(tmp_path, ...)

Apply loop fusion for two loops with matching iteration spaces.

test_transform_loop_fuse_nonmatching_lower(...)

test_transform_loop_fuse_nonmatching_lower_annotated(...)

test_transform_loop_fuse_nonmatching_upper(...)

test_transform_loop_fuse_ordering(frontend, ...)

Apply loop fusion for two loops with matching iteration spaces.

test_transform_loop_fuse_subranges(tmp_path, ...)

Apply loop fusion with annotated range for loops with non-matching iteration spaces.

test_transform_loop_fusion_fission(tmp_path, ...)

test_transform_loop_interchange(tmp_path, ...)

Apply loop interchange for three loops with specified order.

test_transform_loop_interchange_plain(...)

Apply loop interchange for two loops without further arguments.

test_transform_loop_interchange_project(...)

Apply loop interchange for two loops with bounds projection.

test_transform_loop_transformation(frontend, ...)

test_transform_loop_unroll(tmp_path, frontend)

test_transform_loop_unroll_before_fuse(frontend)

test_transform_loop_unroll_nested(tmp_path, ...)

test_transform_loop_unroll_nested_counters(...)

test_transform_loop_unroll_nested_neighbours(...)

test_transform_loop_unroll_nested_restricted_depth(...)

test_transform_loop_unroll_nested_restricted_depth_unrollable(...)

test_transform_loop_unroll_non_literal_range(...)

test_transform_loop_unroll_step(tmp_path, ...)

test_transform_loop_interchange_plain(tmp_path, frontend)

Apply loop interchange for two loops without further arguments.

test_transform_loop_interchange(tmp_path, frontend)

Apply loop interchange for three loops with specified order.

test_transform_loop_interchange_project(tmp_path, frontend)

Apply loop interchange for two loops with bounds projection.

test_transform_loop_fuse_ordering(frontend, insert_loc)

Apply loop fusion for two loops with matching iteration spaces.

test_transform_loop_fuse_matching(tmp_path, frontend)

Apply loop fusion for two loops with matching iteration spaces.

test_transform_loop_fuse_subranges(tmp_path, frontend)

Apply loop fusion with annotated range for loops with non-matching iteration spaces.

test_transform_loop_fuse_groups(tmp_path, frontend)

Apply loop fusion for multiple loop fusion groups.

test_transform_loop_fuse_failures(frontend)

Test that loop-fusion fails for known mistakes.

test_transform_loop_fuse_alignment(tmp_path, frontend)
test_transform_loop_fuse_nonmatching_lower(tmp_path, frontend)
test_transform_loop_fuse_nonmatching_lower_annotated(tmp_path, frontend)
test_transform_loop_fuse_nonmatching_upper(tmp_path, frontend)
test_transform_loop_fuse_collapse(tmp_path, frontend)
test_transform_loop_fuse_collapse_nonmatching(tmp_path, frontend)
test_transform_loop_fuse_collapse_range(tmp_path, frontend)
test_transform_loop_fission_single(tmp_path, frontend)
test_transform_loop_fission_nested(tmp_path, frontend)
test_transform_loop_fission_nested_promote(tmp_path, frontend)
test_transform_loop_fission_collapse(tmp_path, frontend)
test_transform_loop_fission_multiple(tmp_path, frontend)
test_transform_loop_fission_promote(tmp_path, frontend)
test_transform_loop_fission_promote_conflicting_lengths(tmp_path, frontend)
test_transform_loop_fission_promote_array(tmp_path, frontend)
test_transform_loop_fission_promote_multiple(tmp_path, frontend)
test_transform_loop_fission_multiple_promote(tmp_path, frontend)
test_transform_loop_fission_promote_read_after_write(tmp_path, frontend)
test_transform_loop_fission_promote_multiple_read_after_write(tmp_path, frontend)
test_transform_loop_fusion_fission(tmp_path, frontend)
test_transform_loop_unroll(tmp_path, frontend)
test_transform_loop_unroll_step(tmp_path, frontend)
test_transform_loop_unroll_non_literal_range(tmp_path, frontend)
test_transform_loop_unroll_nested(tmp_path, frontend)
test_transform_loop_unroll_nested_restricted_depth(tmp_path, frontend)
test_transform_loop_unroll_nested_restricted_depth_unrollable(tmp_path, frontend)
test_transform_loop_unroll_nested_counters(tmp_path, frontend)
test_transform_loop_unroll_nested_neighbours(tmp_path, frontend)
test_transform_loop_transformation(frontend, loop_interchange, loop_fusion, loop_fission, loop_unroll)
test_transform_loop_unroll_before_fuse(frontend)