Redundant Array Computation Elimination

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Wang, Zixuan, Yuan, Liang, Jiang, Xianmeng, Li, Kun, Xiao, Junmin, Zhang, Yunquan
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866908425434169344
author Wang, Zixuan
Yuan, Liang
Jiang, Xianmeng
Li, Kun
Xiao, Junmin
Zhang, Yunquan
author_facet Wang, Zixuan
Yuan, Liang
Jiang, Xianmeng
Li, Kun
Xiao, Junmin
Zhang, Yunquan
contents Redundancy elimination is a key optimization direction, and loop nests are the main optimization target in modern compilers. Previous work on redundancy elimination of array computations in loop nests lacks universality. These approaches either focus on specific computation patterns or fail to recognize redundancies with complex structures. This paper proposes RACE (Redundant Array Computation Elimination), a more general redundancy elimination technique. RACE utilizes a novel two-level scheme to identify the data reuse between array references and the computation redundancies between expressions. It traverses the expression trees in loop nests to detect redundancies hierarchically in linear time and generates efficient code with optimized auxiliary arrays that store redundant computation results. Furthermore, RACE supports the expression reassociation with various aggressive strategies to improve the redundancy opportunities. Experimental results demonstrate the effectiveness of RACE.
format Preprint
id arxiv_https___arxiv_org_abs_2506_21960
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Redundant Array Computation Elimination
Wang, Zixuan
Yuan, Liang
Jiang, Xianmeng
Li, Kun
Xiao, Junmin
Zhang, Yunquan
Performance
Redundancy elimination is a key optimization direction, and loop nests are the main optimization target in modern compilers. Previous work on redundancy elimination of array computations in loop nests lacks universality. These approaches either focus on specific computation patterns or fail to recognize redundancies with complex structures. This paper proposes RACE (Redundant Array Computation Elimination), a more general redundancy elimination technique. RACE utilizes a novel two-level scheme to identify the data reuse between array references and the computation redundancies between expressions. It traverses the expression trees in loop nests to detect redundancies hierarchically in linear time and generates efficient code with optimized auxiliary arrays that store redundant computation results. Furthermore, RACE supports the expression reassociation with various aggressive strategies to improve the redundancy opportunities. Experimental results demonstrate the effectiveness of RACE.
title Redundant Array Computation Elimination
topic Performance
url https://arxiv.org/abs/2506.21960