• Home
  • Search
  • A sparse algorithm for predicated global value numbering
  • Cite Icon23
  • https://doi.org/10.1145/512529.512536Copy DOI Icon

A sparse algorithm for predicated global value numbering

  • May 17, 2002
  • Karthik Gargi
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

This paper presents a new algorithm for performing global value numbering on a routine in static single assignment form. Our algorithm has all the strengths of the most powerful existing practical methods of global value numbering; it unifies optimistic value numbering with constant folding, algebraic simplification and unreachable code elimination. It goes beyond existing methods by unifying optimistic value numbering with further analyses: it canonicalizes the structure of expressions in order to expose more congruences by performing global reassociation, it exploits the congruences induced by the predicates of conditional jumps (predicate inference and value inference), and it associates the arguments of acyclic ø functions with the predicates controlling their arrival (ø predication), thus enabling congruence finding on conditional control structures. Finally, it implements an efficient sparse formulation and offers a range of tradeoffs between compilation time and optimization strength. We describe an implementation of the algorithm and present measurements of its strength and efficiency collected when optimizing the SPEC CINT2000 C benchmarks.

Similar Papers
  • Conference Article
  • Citations8

Interpreting programs in static single assignment form

  • Jun 07, 2004
  • Jeffery Von Ronne +2
  • Conference Article
  • Citations153

Array SSA form and its use in parallelization

  • Jan 01, 1998
  • Kathleen Knobe +1
  • Book Chapter
  • Citations20

Verifying Fast and Sparse SSA-Based Optimizations in Coq

  • Jan 01, 2015
  • Delphine Demange +2
  • Conference Article
  • Citations1

Recovering the Memory Behavior of Executable Programs

  • Jul 15, 2010
  • Alain Ketterlin +1
  • Research Article
  • Citations28

Optimal register sharing for high-level synthesis of SSA form programs

  • May 01, 2006
  • IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
  • P Brisk +3
  • Research Article
  • Citations10

More precise construction of static single assignment programs using reaching definitions

  • Apr 06, 2020
  • Journal of Systems and Software
  • Abu Naser Masud +1
  • Research Article
  • Citations5

A Practical Improvement to the Partial Redundancy Elimination in SSA Form

  • Sep 30, 2008
  • Journal of Computing Science and Engineering
  • Jong-Soo Park +1
  • Book Chapter

Scalar Compiler Optimizations on the Static Single Assignment Form and the Flow Graph Y.N. Srikant

  • Sep 25, 2002
  • Y N Srikant +1
  • Conference Article
  • Citations1

Array Bounds Check Elimination for Java Based on Sparse Representation

  • Jan 01, 2009
  • Keqiao Yang +2
  • Research Article
  • Citations16

Efficient accommodation of may-alias information in SSA form

  • Jun 01, 1993
  • ACM SIGPLAN Notices
  • Ron Cytron +1
  • Conference Article
  • Citations18

Optimizing translation out of SSA using renaming constraints

  • Jun 10, 2004
  • F Rastello +2
  • Research Article
  • Citations12

Array bounds check elimination in the context of deoptimization

  • Feb 07, 2009
  • Science of Computer Programming
  • Thomas Würthinger +2
  • Book Chapter
  • Citations14

RSSA: A Reversible SSA Form

  • Jan 01, 2016
  • Torben Ægidius Mogensen
  • Conference Article

Loop Splitting Optimization Via Semi-Invariance Analysis in Static Single Assignment Form

  • Apr 25, 2025
  • Lin Han +5
  • Conference Article
  • Citations51

Array bounds check elimination for the Java HotSpot#8482; client compiler

  • Jan 01, 2007
  • Thomas Würthinger +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.