Computing Idempotent Slices for Code Optimization

This title was summarized by AI from the post below.

Given a program P and an assignment `a = ...` within P, the idempotent slice for `a` is the smallest subprogram of P that always produces the same value for `a` as the original program. Program slices are useful for many purposes, including redundancy elimination, reordering computations, and outlining code to reduce program size. In the paper "Idempotent Slices with Applications to Code-Size Reduction", Rafael Alvarenga shows how to compute such slices both soundly and efficiently. The key idea is to use a program representation called "Gated Static Single Assignment (GSA)" form. GSA converts control dependencies into data dependencies by associating the predicates that control branches with the assignments whose execution depends on those branches. Rafael Alvarenga, Daniel Augusto Costa de Sá, Rodrigo Rocha, Fernando Pereira. Idempotent Slices with Applications to Code-Size Reduction. Link: https://lnkd.in/eyZ9f5Ea

  • Given a program P and an assignment `a = ...` within P, the idempotent slice for `a` is the smallest subprogram of P that always produces the same value for `a` as the original program.

Program slices are useful for many purposes, including redundancy elimination, reordering computations, and outlining code to reduce program size.

In the paper "Idempotent Slices with Applications to Code-Size Reduction", Rafael Alvarenga shows how to compute such slices both soundly and efficiently. The key idea is to use a program representation called "Gated Static Single Assignment (GSA)" form. GSA converts control dependencies into data dependencies by associating the predicates that control branches with the assignments whose execution depends on those branches.

Rafael Alvarenga de Azevedo, Daniel Augusto Costa de Sá, Rodrigo Caetano Rocha, Fernando Pereira. Idempotent Slices with Applications to Code-Size Reduction.
Link: https://arxiv.org/abs/2603.09726

To view or add a comment, sign in

Explore content categories