{'fraction_non_alphanumeric': 0.015437392795883362, 'fraction_numerical': 0.0, 'mean_word_length': 5.274193548387097, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Adapting Fourier-Motzkin Elimination to Compute Bounds in Multilevel Tiling

This work focuses on the complexity of computing exact loop bounds in Multilevel Tiling. Conventional tiling techniques implement tiling using first strip-mining and afterwards loop interchange. Multilevel tiling has typically been implemented applying tiling level by level. We present a new way to implement Multilevel Tiling that deals with all levels simultaneously, performing a loop interchange transformation only once. Our algorithm computes exact loop bounds, that is, loops in the generated code never execute empty iterations. We evaluate the complexity of this algorithm and show that it is proportional to the complexity of performing an interchange in the original loop nest; the complexity of our algorithm depends doubly exponentially only on the number of loops (space dimensions) in the original loop nest rather than in the number of loops in the final tiled code. The algorithm is based on the Fourier-Motzkin elimination, that generates redundant bounds. We also present an implementation of the technique that reduces the number of redundant bounds in the tiled code.