Propagation constant - CompWisdom
About us  |  Why use us?  |  Press  |  Contact us

 

Topic: Propagation constant



  
 Constant folding - Wikipedia, the free encyclopedia
A more advanced form of constant propagation known as sparse conditional constant propagation may be utilized to simultaneously remove dead code and more accurately propagate constants.
In compiler theory, constant folding and constant propagation are related optimization techniques used by many modern compilers.
In implementing a cross compiler, care must be taken to ensure that the behaviour of the arithmetic operations on the host architecture matches that on the target architecture, as otherwise enabling constant folding will change the behaviour of the program.
http://en.wikipedia.org/wiki/Constant_propagation   (607 words)

  
 Brown CS: Tech Report CS-91-22
The goal of constant propagation is to discover values that are constant on all possible executions of a program and to propagate these constant values as far forward through the program as possible.
Constant propagation is a well-known global flow analysis problem.
A new algorithm is also presented that performs a form of interprocedural data flow analysis in which aliasing information is gathered in conjunction with constant propagation.
http://www.cs.brown.edu/publications/techreports/reports/CS-91-22.html   (158 words)

  
 [No title]
Constant propagation analyzes a program following the normal flow-of-control from inputs to outputs.
The "global constant propagation" problem is a paradigmatic example of many similar global optimizations.
To compute whether "x" is a constant at this statement, we need to know whether x is a constant at its two predecessors x := 3 and a := 2 * x.
http://www.cs.berkeley.edu/~aiken/cs264/lectures/dataflow164   (1903 words)

  
 Beyond Constant Propagation
Constant propagation is one of the best explored program optimization techniques.
Propagation of relational expressions is done there in the context of partial evaluation as a program transformation methodology used on programs after collecting dataflow information.
This propagation is executed by a worklist-based fixpoint algorithm that additionally applies rules at every iteration.
http://sakharov.net/propagation.html   (250 words)

  
 Conditional Pointer Aliasing and Constant Propagation
A natural way to tackle this mutual dependence between conditional constant propagation and pointer analysis is to iterate over the two analyses until a fixed point is reached.
Though this is unappealing because of efficiency concerns, the resulting precision may also not be optimal, i.e., a more tightly-coupled analysis may have better precision for both alias analysis and conditional constant propagation than iterating over the two analyses.
I will describe the system used and the experiments performed that study the effects of combining several different pointer alias analyses and conditional constant propagation in a simple iterating-over-analyses fashion and a combined version where the analyses are more closely coupled.
http://www.mcs.newpaltz.edu/colq/pioli.html   (239 words)

  
 SUNY New Paltz Department of Computer Science
The information computed by a pointer alias analysis can be used to improve the precision of subsequent analyses, such as conditional constant propagation.
One way to resolved this mutual dependence between conditional constant propagation and pointer alias analysis is to iterate over the two analyses until a fixed point is reached.
In this work we explore three combinations of pointer alias analysis and conditional constant propagation: a one-pass-over-analyses approach, an iterate-over-analyses approach, and a new algorithm that synthesizes pointer alias analysis and conditional constant propagation.
http://www.newpaltz.edu/compsci/technicalreports/99-103.html   (193 words)

  
 [No title]
Enhancing the framework for efficient bitvector analyses of parallel programs of [13, 15], we develop a powerful algorithm for parallel constant propagation (PCP), which can be implemented as easily and as efficiently as its sequential counterpart for simple constants, which are computed by stateoftheart sequential optimizers.
Constant propagation (CP) is a powerful, practically rele vant optimization of sequential programs.
In fact, because of the computational complexity introduced by the state explosion problem, the successful transfer of sequential techniques to the parallel setting is currently re stricted to bitvectorbased optimizations, which because of their struc tural simplicity can be enhanced to parallel programs at almost no costs on the implementation and computation side.
http://www.europar98.ecs.soton.ac.uk/WebPages2/abstracts/305_abs.html   (124 words)

  
 Citations: Constant propagation: A fresh demand-driven look - Stoltz, Wolfe, Gerlek (ResearchIndex)
SCC is an optimistic algorithm which avoids to consider unreachable code and continues the propagation of constant values in the branches of conditionals statements.
The most used algorithm for constant propagation is the Sparse conditional constant propagation (SCC) 21,17,14,2] SCC is an optimistic algorithm which avoids to consider....
The following optimizations are done in the same pass: ffl Constant Propagation ffl Constant Folding ffl Copy Propagation ffl Constant Combining The algorithm we use is similar to the simple version of global constant propagation developed by Stoltz et al.
http://citeseer.ist.psu.edu/context/680019/187410   (585 words)

  
 Compiler - Wikipedia, the free encyclopedia
Popular optimizations are inline expansion, dead code elimination, constant propagation, loop transformation, register allocation or even auto parallelization.
http://en.wikipedia.org/wiki/Compiler   (1963 words)

  
 Propagating Constants Past Software to Hardware Peripherals
While constant propagation in synthesis tools is commonly done, this work illustrates the benefits of recognizing initialization constants from the software as really being constants for hardware.
As compiler writers are well aware, constants provide excellent optimization capability, through the well-known compiler optimization known as constant propagation [1][10].
Thus, if modifying the microprocessor’s program is a possibility, then propagating constants across the software/hardware boundary should either not be done, or should be done only to the extent that the designer is certain that particular constants won’t change.
http://www.cs.ucr.edu/~vahid/pubs/colp01_cp_html   (3677 words)

  
 (Knoop J., Rüthing O.) Constant Propagation on Predicated Code
The new algorithm works for arbitrary control flow, detects constancy of terms, whose operands are not constant themselves, and is optimal for acyclic code such as hyperblocks, the central "compilation units" for instruction scheduling of predicated code.
Abstract: We present a new constant propagation (CP) algorithm for predicated code, for which classical CP-techniques are inadequate.
The new algorithm operates on the predicated value graph, an extension of the well-known value graph of Alpern et al.
http://www.jucs.org/jucs_9_8/constant_propagation_on_predicated   (156 words)

  
 [No title]
This assignment asks you to design and implement a constant propagation algorithm for an imaginary intermediate representation for a Java-like imperative language.
Introduce the notion of sparse conditional constant propagation as an efficiency optimization.
Write a function that filters the statements in which a variable's definition dominates its use and the variable's value is a known constant.
http://www.cs.berkeley.edu/~abegel/cs302/ps4.txt   (1112 words)

  
 Constant propagation delay current reference - Patent 4862015
The frequency of operation for the ring oscillator is dependent solely on the propagation delay of the inverters, and the propagation delay of the inverters are controlled by varying this injector current.
These objects and others which will become apparent are provided with a constant propagation delay current reference having an external source providing a reference frequency signal.
What has been described is a current reference having constant propagation delay characteristics, especially suited for use with I.sup.2 L logic designs.
http://www.freepatentsonline.com/4862015.html   (2472 words)

  
 Flow-Sensitive Interprocedural Constant Propagation
We introduce new metrics for evaluating interprocedural constant propagation algorithms which measure the number of interprocedural constant values that are propagated.
We present a flow-sensitive interprocedural constant propagation algorithm, which supports recursion while only performing one flow-sensitive analysis of each procedure.
We use these metrics to provide further experimental results for our algorithm.
http://www.research.ibm.com/people/h/hind/pldi95abs.html   (74 words)

  
 : Package EDU.purdue.cs.bloat.trans
Constant propagation removes unnecessary assignments by replacing variables that are assigned constant values with those values.
BLOAT was designed to optimize classes that were to be run inside a persistent system that required special opcodes to perform operation such as checking an object cache for a certain resident object.
Performs copy and constant propagation on the blocks in a control flow graph.
http://www.cs.purdue.edu/s3/projects/bloat/docs/api/EDU/purdue/cs/bloat/trans/package-summary.html   (488 words)

  
 Examples
The result of our optimization and inlining on this code is shown in Figure 4b.
In addition to inlining, our optimization enables constant propagation by providing opportunities for both interprocedural and intraprocedural constant propagation.
In particular, we hope to enable the propagation of class types.
http://www.ebb.org/bkuhn/writings/technical/cpp-opt/node5.html   (340 words)

  
 Ghinsu CR: Expression simplification
Thus, we notice a dynamic cooperation between constant propagation and expression simplification: the one is created but also creates the other.
It is not coincidental that we used as an example the reduced program from our previous example on constant propagation.
This value can be propagated in the third line of the example.
http://www.softlab.ntua.gr/research/research_projects/Ghinsu/ghincr32.html   (246 words)

  
 [No title]
This paper concerns interprocedural dataflow-analysis problems in which the dataflow information at a program point is represented by an environment (i.e., a mapping from symbols to values), and the effect of a program operation is represented by a distributive environment transformer.
We present two efficient algorithms that produce precise solutions: an exhaustive algorithm that finds values for all symbols at all program points, and a demand algorithm that finds the value for an individual symbol at a particular program point.
The demand algorithm, when used to demand values for all uses of scalar integer variables, was faster than the exhaustive algorithm by a factor ranging from 1.14 to about 6.
http://www.cs.wisc.edu/wpis/abstracts/tcs96b.abs.html   (250 words)

  
 Lectures ($Date: 1997/07/05 06:34:52 $)
For example, we've seen how constant propagation can be used to eliminate edges that will never be traversed and thus allow computations to be moved out of loops.
Thus value numbering needs to use the same lattice as constant propagation if the two analyses are to be combined
In some sense, constants are nothing but distinguished value numbers.
http://ece-www.colorado.edu/~waite/Darmstadt/phase.html   (849 words)

  
 Passes
Constant folding and some arithmetic simplifications are also done during this pass, on the tree representation.
This pass performs conditional constant propagation to simplify instructions including conditional branches.
This dump file's name is made by appending `.ssadce' to the input file name.
http://www.fnal.gov/docs/products/gcc/v3_1/gccint.info,.Passes.html   (3228 words)

  
 Sparse Constant Propagation via Memory Classification Analysis
Sparse Constant Propagation is not only more effective within the MCA framework, but it in fact generalizes the framework.
Because of this, the collected sparse constant information need not be artificially limited to satisfy classical data flow lattice requirements, which constrain other algorithms to discard information in the interests of efficient termination.
Unlike other techniques which are based on data flow, it is based on the execution-order summarization sweep employed in Memory Classification Analysis (MCA), a technique originally developed for array dependence analysis.
http://csdocs.cs.nyu.edu/Dienst/UI/2.0/Describe/ncstrl.nyu_cs%2fTR1999-782   (182 words)

  
 Comp.compilers: Re: Data flow analysis and constant propagation
be possible to perform constant propagation with it.
propagation is just a special case of dataflow analysis where a
Re: Data flow analysis and constant propagation dnovillo@redhat.com (Diego Novillo) (2003-04-27)
http://compilers.iecc.com/comparch/article/03-04-096   (237 words)

  
 Razya Ladelsky - Fw: IPA Constant Propagation Optimization
Second phase - interprocedural analysis Solving the interprocedural constant propagation problem IPA algorithm Each formal has cval which represents its value computed so far (value : TOP, BOTTOM, constant_value) The algoritm computes for all formal parameters in the program their cval value.
Hello, Following our message (http://gcc.gnu.org/ml/gcc/2003-11/msg01243.html) regarding IPA constant propagation, we enclose the first draft of the optimization.
Razya and Mircea GCC IPA CONSTANT PROPAGATION OVERVIEW Introduction -IPA aim The IPA constant propagation will find which function's argument has the same constant value in each invocation.
http://gcc.gnu.org/ml/gcc/2004-05/msg00710.html   (552 words)

  
 [No title]
A situation related to constant propagation and constant folding is the use of the named constants in a program.
Using a named constant x instead of a variable, we can translate the above example as the following C code: const int x = 4;...
Give as many reasons as you can why constant propagation is more difficult than constant folding.
http://www.cit.gu.edu.au/teaching/3136CIT/2004/tut1.txt   (106 words)

  
 Semple Analysis Engine: semple::analysis::ExpressionPropagation class Reference
Performs propagation of arbitrary expressions, as a generalization of both copy and constant propagation.
Whether this optimization should be recursively applied to all function objects encountered.
Construct an expression propagation optimization object that uses the given
http://www.cs.rpi.edu/~gregod/Semple/classsemple_1_1analysis_1_1ExpressionPropagation.html   (274 words)

  
 Waveguides
Since the field is constant in x direction, kx is zero and ky is equal to the transverse wave number.
Since the wave propagates in z direction, watching animations of the field in the xy plane is less informative than watching animations in the yz plane.
The remaining problem is now the definition of the Normalized propagation constant in the Project dialog.
http://www.ifh.ee.ethz.ch/~hafner/1MaXTut/Waveguides.htm   (3599 words)

  
 MySQL Lists: internals: bk commit - mysqldoc tree (1.799)
MySQL will evaluate a constant table in advance, +to find out what that value is. Then MySQL will "plug" +that value into the query.
a system table which is a constant table +const...
By the way, we +described constant propagation first because it happens +happens BEFORE MySQL figures out what the constant tables are.
http://lists.mysql.com/list.php?3:mss:9996:200309:lejkmpinlmdninacgcpl   (2713 words)

  
 Parallel plate waveguide
When you search along the imaginary axis instead, MMP can find the propagation constant of the evanescent mode and you can also let MMP compute its field.
The amplitude of the expansion can be set equal to one and no MMP computation of unknown parameters is required.
The best way is the following: Close to cutoff, the propagation constant of all modes is almost zero.
http://www.ifh.ee.ethz.ch/~hafner/1MaXTut/Parallelplatewaveguide.htm   (1707 words)

  
 aiPop: Interprocedural Constant Propagation
An immediate value is then replaced by a reference to a register which is known to contain the value.
aiPop for C16x/ST10 also optimizes the use of constants and immediates in instructions.
On the C16x, many immediate values require 4-byte instructions, whereas references to general-purpose registers only need 2 bytes.
http://www.absint.com/aipop/slides/10.htm   (85 words)

  
 RIDS '95: Constant Propagation Versus Join Reordering in Datalog
Abstract: Constant propagation and join reordering are two standard optimization techniques used for Datalog programs.
However, in order to achieve constant propagation it is sometimes necessary to impose a certain join ordering on a given program.
We study this problem in the context of GraphLog, a visual language whose queries are graphical notations which are translated into Datalog.
http://www.dblab.ntua.gr/~atsois/rids95/abstract_16.html   (176 words)

  
 Sparse Conditional Constant Propagation - GNU Project - Free Software Foundation (FSF)
SSA CPP is an aggressive constant propagation algorithm that performs traditional global constant propagation, but also uses the SSA graph to identify and optimize away branches which it can prove can never be taken.
Daniel Berlin and Jeff Law have contributed an SSA based sparse conditional constant optimization (SSA CCP) pass to GCC.
Sparse Conditional Constant Propagation - GNU Project - Free Software Foundation (FSF)
http://gcc.gnu.org/news/ssa-ccp.html   (419 words)

  
 Accurate Static Branch Prediction By Value Range Propagation
The value range propagation method can be implemented over any "factored" dataflow representation with a static single assignment property (such as SSA form or a dependence flow graph where the variables have been renamed to achieve single assignment).
Heuristics are used as a fallback for cases where the value range of the variable cannot be determined statically.
In the process, value range propagation subsumes both constant propagation and copy propagation.
http://www.pattosoft.com.au/jason/Papers/ValueRangeProp   (264 words)

  
 Re: Constant propagation and similar issues
The reason is that type timestamp has a special value CURRENT that is a symbolic representation of current time (this is NOT what now() produces, but might be thought of as a data-driven way of invoking now()).
This value will get reduced to a simple constant when it is fed into an arithmetic operation.
Hence, premature evaluation changes the results and would not be a correct optimization.
http://archives.postgresql.org/pgsql-hackers/2000-09/msg00147.php   (430 words)

  
 [No title]
Take adv of conditional branches involving constants Compute an abstract value for each program expression: a.
Bottom -- __ 2 or more values Initial abstract value: T Operations Result of an operation is: 1.
Effectively insert: 1.5 i = 1 Algorithm ConstantProp Use control flow graph and SSA, except info flows from definitions to uses Data Structures 1.
http://www.cs.wm.edu/~noonan/cs652/slides/const-prop.txt   (202 words)

  
 CP
Perform copy propagation optimization on a Scribble graph.
Return the number of times copy propagation was performed.
http://www-ali.cs.umass.edu/Scale/javadoc/scale/score/trans/CP.html   (231 words)

  
 [No title]
Q ë+óµKŸ¨Constant PropagationŸ¨ZIf value of variable is known to be a constant, replace use of variable with constant Example: n = 10 c = 2 for (i=0; i
http://www.cs.cornell.edu/Courses/cs412/2002SP/ppt/lec17.ppt   (660 words)

  
 10.1.3 Local Common Subexpression Elimination
A related optimization computes constant expressions at compile-time rather than generating code to perform the optimization.
The programmer may initialize a variable to be 1, using this as both the loop counter and as an array index.
Constants are produced, not only by the programmer, but also by the compiler.
http://www.cs.wpi.edu/~kal/PLT/PLT10.1.3.html   (126 words)

  
 Constant Propogation
This can result in better instruction selection where you can use "immediate" machine code instructions which embed constants in the instruction, and result in faster execution than if a register must be used to store the constant.
This removes the need for using a preprocessor for constants, as is standard practice in C. Constant propagation can result from learning more about the values of variables throughout the program.
Having constants in code allows more efficient code to be generated.
http://users.chariot.net.au/~matty/ultra/optcat/Constant_Propagation.html   (157 words)

  
 Optimizer Report Generation
For example, if -opt_report_phase ilo_co is specified, a report from both the constant propagation and the copy propagation are generated.
The -opt_report_help option lists the logical names of optimizers that are currently availble for report generation.
http://www.osc.edu/hpc/manuals/ia64/docs2/f_ug/opt_reps.htm   (264 words)

  
 Constant Propagation
The purpose of this program is to implement the algorithms for constant propagation using SSA, Fig.
This is the final phase of your code optimizer project.
For the purposes of constant propagation, only the following quad operations need to be implemented: =, +, if<.
http://www.cs.wm.edu/~noonan/cs652/projects/constant.html   (44 words)

  
 Global Constant Propagation
If all the reaching definitions of a given exposed use have the same constant value, and there is no other path to this use (detected by using a variation of the dominance property), then the constant value is propagated to this use.
To perform global constant propagation, I make use of an iterative data flow solver.
I use the data flow solver to solve reaching definitions problem.
http://www.cs.umd.edu/users/suman/docs/731s98/node6.html   (113 words)

  
 Interprocedural Constant Propagation
propagation?) The tree-profiling-branch of GCC has an implementation of "Interprocedural Constant Propagation" by Challahan, Cooper, Kennedy, and Torczon.
http://www.codecomments.com/message482587.html   (73 words)

  
 [No title]
We can now apply the constant propagation algorithm to this graph.
http://www.cs.rice.edu/~ken/comp515/lectures/Ch11InterproceduralSlides2.ppt   (892 words)

  
 The Mercury Project: [m-rev.] for review: remove `int:^/2' from constant propagation
Remove the reference to `int:^/2' operator in the constant propagation
The Mercury Project: [m-rev.] for review: remove `int:^/2' from constant propagation
[m-rev.] for review: remove `int:^/2' from constant propagation
http://www.mercury.cs.mu.oz.au/mailing-lists/mercury-reviews/mercury-reviews.200401/0041.html   (245 words)

  
 [perl #22387] [PATCH] simple constant propagation
The tests for this level of optimization thus need to be updated which is the other part of the patch.
Re: [perl #22387] [PATCH] simple constant propagation, Leopold Toetsch
http://www.perl6.net/perl6-internals/2003-05/msg00417.html   (195 words)

  
 Re: LCM framework & global constant propagation improvements
Re: LCM framework and global constant propagation improvements
Subject: Re: LCM framework and global constant propagation improvements
> Date: Wed, 10 Mar 1999 23:52:31 -0700 > From: Jeffrey A Law > I've installed the basic lazy code motion optimizer into the mainline > sources as well as a significant improvement to the global constant > propagation optimizer.
http://gcc.gnu.org/ml/gcc/1999-03n/msg00469.html   (182 words)

  
 Constant Propagation
Constants assigned to a variable can be propagated through the flow graph and substituted at the use of the variable.
In the code fragment below, the value of x can be propagated to the use of x.
Some compilers perform constant propagation within basic blocks; some compilers perform constant propagation in more complex control flow.
http://www.nullstone.com/htmls/category/consprop.htm   (105 words)

  
 Razya Ladelsky - [RFC] IPA constant propagation - very preliminary code
The code is of course not fully functional, but it does demonstrate the constants that it identifies in simple examples (by printing these values).
Re: [RFC] IPA constant propagation - very preliminary code
Razya Ladelsky - [RFC] IPA constant propagation - very preliminary code
http://gcc.gnu.org/ml/gcc/2004-06/msg00518.html   (138 words)

  
 [No title]
Run CCP to compute what registers are known constants and what edges are not executable.
Long term it should accept as input the specific flow graph to operate on so that it can be called for sub-graphs.
*/ do { examine_flow_edges (); follow_def_use_chains (); } while (flow_edges != NULL); /* Now perform substitutions based on the known constant values.
http://www.opensource.apple.com/darwinsource/10.3.5/gcc-1495/gcc/ssa-ccp.c   (2539 words)

  
 Definition: attenuation constant
For a particular propagation mode in an optical fiber, the real part of the axial propagation constant.
Note 1: The attenuation constant is usually expressed as a numerical value per unit length.
The real part of the propagation constant in any electromagnetic propagation medium.
http://www.its.bldrdoc.gov/projects/devglossary/_attenuation_constant.html   (75 words)

Compwisdom
 About us   |  Why use us?   |  Press   |  Contact us

 Copyright © 2006 CompWisdom.com Usage implies agreement with terms.