open encyclopedia * Article Search: * *
*
*

Constant propagation

From open-encyclopedia.com - the free encyclopedia.

In computer science constant propagation (cprop) is an optimization performed by compilers.

After cprop is carried out, expressions that really can be calculated at compiletime will be, and are replaced by their values. That is, known functions of known constants are constants, and are recognised as such.

Constant propagation is also able to change conditional branches to unconditional ones. The following code in C can be simplified using cprop:

int a(){
  int b;
  int c;
   
  b=3;
  c=b*4;
  if(c>10){
    c=c-10;
  }
  return c;
}

A good compiler will reduce this to:

int a(){
  return 2;
}


Constant propagation can easily be implemented on SSA form as published by Wegman and Zadeck in 1991.

Constant propagation is not to be confused with constant folding, which is implemented in the front-end.


See also: Control flow graph, Compiler optimization

Contribute Found an omission? You can freely contribute to this Wikipedia article. Edit Article
Copyright © 2003-2004 Zeeshan Muhammad. All rights reserved. Legal notices. Part of the New Frontier Information Network.