Partial redundancy elimination - Factbites
 Factbites
 Where results make sense
About us   |   Why use us?   |   Reviews   |   PR   |   Contact us  

Topic: Partial redundancy elimination


    Note: these results are not from the primary (high quality) database.


  
 Compiling for Distributed Memory Machines
Partial Redundancy Elimination (PRE) is a general scheme for suppressing partial redundancies which encompasses traditional optimizations like loop invariant code motion and redundant code elimination.
Gagan Agrawal, ``Interprocedural Partial Redundancy Elimination with Application to Distributed Memory Compilation'', IEEE Transactions on Parallel and Distributed Systems, vol 9, no. 7, pp.
We have also extended our work to consider sections of arrays and performs communication aggregation in addition to redundant communication elimination.
www.cse.ohio-state.edu /~agrawal/Projects/comp_dist-mem.html   (588 words)

  
 Introduction
Partial redundancy elimination is the most general form of redundancy elimination, that encompasses both common-subexpression elimination and loop-invariant code motion.
Several approaches have been taken to solve the problem of partial redundancy elimination.
In addition, unlike problems with other PRE approaches, it will find all eliminations, and since we don't insert the expression along paths that don't compute it, there is no need for complex bidirectional analysis to determine this insertion.
www.cs.cmu.edu /~girish/15745/node1.html   (487 words)

  
 An Overview of the Intel IA-64 Compile
Partial redundancy elimination (PRE) [1, 2, 11] is a well known scalar optimization technique that subsumes global common subexpression elimination (CSE) and loop invariant code motion.
Also, elimination of the redundant load may expose further opportunities for redundancy elimination in the instructions that depend on the load.
CSE removes expressions that are always redundant (redundant on all control flow paths).
www.intel.com /technology/itj/q41999/articles/art_1j.htm   (1204 words)

  
 GNU Compiler Collection - Wikipedia, the free encyclopedia
GCC developers have given this part of the compiler the somewhat contradictory name the "middle end." These optimizations include dead code elimination, partial redundancy elimination, global value numbering, sparse conditional constant propagation, and scalar replacement of aggregates.
The exact set of GCC optimizations varies from release to release as it develops, but includes the standard algorithms, such as jump optimization, jump threading, common subexpression elimination, instruction scheduling, and so forth.
The so-called gimplifier then lowers this more complex form into the simpler SSA-based GIMPLE form which is the common language for a large number of new powerful language- and architecture-independent global (function scope) optimizations.
en.wikipedia.org /wiki/GCC_Abstract_Syntax_Tree   (1113 words)

  
 Goals and Motivation
Even today in the official tree, GCSE is not able to do partial redundancy elimination on i386 instructions modifying flag registers (majority of them) and store motion implementation is disabled due to design problems, so the old pseudo-global CSE and GCSE are both run resulting in large compilation time overhead.
For instance the common subexpression elimination pass now does de-facto global value numbering, or instruction combiner utilizes powerful algebraic simplifier of expressions.
A nice example of these unsuccessful integrated optimization passes is the global common subexpression elimination pass (GCSE) dated to 1997.
www.ucw.cz /~hubicka/papers/proj/node3.html   (1804 words)

  
 Electrical Fire Optimizations
Common subexpression elimination (CSE) or partial redundancy elimination
Duplicating and specializing code within a function to handle common cases faster (i.e.
Straight-line dataflow analysis (mainly there to speed up the compiler by folding the most common optimizations into the compiler's primitive graph generation)
www.mozilla.org /projects/ef/techdocs/design/optimizations.html   (148 words)

  
 Thomas VanDrunen
My PhD research was on a hybrid of partial redundancy elimination and global value numbering.
"Uniting Global Value Numbering and Partial Redundancy Elimination," talk for research meeting of the DaCapo project, Aug 2002.
Partial Redundancy Elimination for Global Value Numbering," my dissertation.
cs.wheaton.edu /~tvandrun   (148 words)

  
 Introduction
Partial redundancy elimination is the most general form of redundancy elimination, that encompasses both common-subexpression elimination and loop-invariant code motion.
In addition, unlike problems with other PRE approaches, it will find all eliminations, and since we don't insert the expression along paths that don't compute it, there is no need for complex bidirectional analysis to determine this insertion.
Since we know where the expression was first defined, we determine the predicates for the paths along which the expression is available, and direct these paths to the optimized block.
www.cs.cmu.edu /~girish/15745/node1.html   (487 words)

  
 AMD-20030421-ICC70-Linux.txt
Enables the following capabilities for performance gain: constant propagation copy propagation dead-code elimination global register allocation global instruction scheduling and control speculation loop unrolling optimized code selection partial redundancy elimination strength reduction/induction variable simplification variable renaming predication software pipelining -fp Disables the use of the ebp register in optimizations.
Enables the following optimizations: Inline function expansion Interprocedural constant propagation Monitoring module-level static variables Dead code elimination Propagation of function characteristics Multifile optimization Passing arguments in registers Loop-invariant code motion -prof_gen[x] Instructs the compiler to produce instrumented code in your object files in preparation for instrumented execution.
Enables the following optimizations: Inline function expansion Interprocedural constant propagation Monitoring module-level static variables Dead code elimination Propagation of function characteristics Multifile optimization Passing arguments in registers Loop-invariant code motion -unroll[n] Set maximum number (n) of times to unroll loops.
www.spec.org /cpu/flags/AMD-20030421-ICC70-Linux.txt   (1004 words)

  
 GCCWiki - GVN-PRE
GVN-PRE is a value based Partial Redundancy Elimination algorithm that elegantly exploits the properties of SSA form to extend dominator based global value numbering to eliminate partially redundant values : The algorithm does not look for partially redundant expressions, but instead for partially redundant values.
GVN-PRE uses value numbering to recognize semantically equivalent expressions, unifying two of the most powerful redundancy elimination algorithms.
The algorithm does not require any special kind of SSA form (unlike SSAPRE which requires building the unintuitive ESSA form) and builds on classic concepts like availability, anticipatability and value numbering.
gcc.gnu.org /wiki/GVN-PRE   (1004 words)

  
 LWN: Development
Passes that have already been implemented include sparse conditional constant propagation, partial redundancy elimination, dead code and dead store elimination, and scalar replacement of aggregates.
The properties of the SSA form greatly simplify data flow analysis, and indeed many traditional compiler optimizations, such as constant and copy propagation and also some forms of common subexpression elimination, are relatively straightforward and fast on functions and even whole programs represented in SSA form.
Most analyses are currently intra-procedural, although some inter-procedural analyses are partially implemented or planned.
www.lwn.net /Articles/83796/?format=printable   (1004 words)

  
 GNU Compiler Collection - Wikipedia, the free encyclopedia
GCC developers have given this part of the compiler the somewhat contradictory name the "middle end." These optimizations include dead code elimination, partial redundancy elimination, global value numbering, sparse conditional constant propagation, and scalar replacement of aggregates.
The exact set of GCC optimizations varies from release to release as it develops, but includes the standard algorithms, such as jump optimization, jump threading, common subexpression elimination, instruction scheduling, and so forth.
GCC was originally written by Richard Stallman in 1987 as the compiler for the GNU Project, in order to have a compiler available that was free software.
en.wikipedia.org /wiki/GNU_Compiler_Collection   (1004 words)

  
 CS 265: Code Motion
Partial redundancy elimination, including loop invariant motion, is. Code hoisting and constant folding is not performed by the [Knoop94] algorithm; in fact, the [Knoop94] transformation is less amenable to constant folding than the original [Morel79] transformation.
Looking at the my initial topic description, global common subexpression eliminiation (full redundancy) is handled, but that is not the focus.
Expose opportunities for constant folding by moving computations into the branches above join points
www.cs.berkeley.edu /~smcpeak/cs265/codemotion.html   (225 words)

  
 GNU Compiler Collection - Wikipedia, the free encyclopedia
GCC developers have given this part of the compiler the somewhat contradictory name the "middle end." These optimizations include dead code elimination, partial redundancy elimination, global value numbering, sparse conditional constant propagation, and scalar replacement of aggregates.
Optimization on trees does not generally fit into what most compiler developers would consider a front end task, as it is not language dependent and does not involve parsing.
Array dependence based optimizations such as automatic vectorization are currently being developed.
en.wikipedia.org /wiki/GNU_Compiler_Collection   (225 words)

  
 GNU Compiler Collection - netlexikon
Zu den gegenwärtig am SSA-Baum durchgeführten Optimierungen gehören Dead Code Elimination, Partial Redundancy Elimination, Global Value Numbering, Sparse Conditional Constant Propagation, und Scalar replacement of Aggregates.
Die GCC-Entwickler haben diesem Teil des Compilers daher den Namen "Middleend" gegeben.
www.net-lexikon.de /GNU-Compiler-Collection.html   (225 words)

  
 Encyclopedia: GNU Compiler Collection
GCC developers have given this part of the compiler the somewhat contradictory name the "middle end." These optimizations include dead code elimination, partial redundancy elimination, global value numbering, sparse conditional constant propagation, and scalar replacement of aggregates.
It is the standard compiler for the open source Unix-like operating systems, and certain proprietary operating systems derived therefrom such as Mac OS X.
As of version 4.0.0 (released on April 20, 2005), the standard compiler release includes front ends for: This is a branch of the as of movement.
www.nationmaster.com /encyclopedia/GNU-Compiler-Collection   (4372 words)

  
 GNU Compiler Collection - Wikipedia, the free encyclopedia
GCC developers have given this part of the compiler the somewhat contradictory name the "middle end." These optimizations include dead code elimination, partial redundancy elimination, global value numbering, sparse conditional constant propagation, and scalar replacement of aggregates.
GCC was originally written by Richard Stallman in 1987 as the compiler for the GNU Project, in order to have a compiler available that was free software.
GCC is often the compiler of choice for developing software that is required to execute on a plethora of hardware.
en.wikipedia.org /wiki/GNU_Compiler_Collection   (1134 words)

  
 An Overview of the Intel IA-64 Compile
Partial redundancy elimination (PRE) [1, 2, 11] is a well known scalar optimization technique that subsumes global common subexpression elimination (CSE) and loop invariant code motion.
If the compiler can determine that there is an unknown, but small probability that *p and *q access the same memory location, the loop invariant load and the add that depends on it can be removed using the IA-64 support for data speculation as shown in Figure 20 (b).
PRE can move the loop invariant to outside the loop as shown in Figure 17.
www.intel.com /technology/itj/q41999/articles/art_1j.htm   (1204 words)

  
 PMD - Future directions for PMD
Raik Schroeder, a graduate student at Fachhochschule Stralsund, has written a DFA layer that should enable us to write some more complicated rules - stuff like common subexpression elimination, loop invariant code motion (and code hoisting suggestions), shrink wrapping, and partial redundancy elimination.
The code is currently in CVS in the net.sourceforge.pmd.dfa packages, and we're going through it now figuring out what rules we can write that use it.
Raik's advisor, Dr. Gero Wedemann, has also mentioned that he may be able to find a student who is interested in working on a PMD GUI.
pmd.sourceforge.net /future.html   (221 words)

  
 Optimal Code Motion within Flow Graphs: A Practical Approach - Steffen, Knoop, Ruthing (ResearchIndex)
Abstract: Common subexpression elimination, partial redundancy elimination and loop invariant code motion are all instances of the same general run-time optimization problem: how to optimally place computations within a program.
16 Efficient Code Motion and an Adaption to Strength Reduction - Steffen, Knoop et al.
Efficient Code Motion and an Adaption to Strength Reduction - Steffen, Knoop, Rüthing (1991)
citeseer.ist.psu.edu /144312.html   (547 words)

  
 GNU Compiler Collection - Wikipedia, the free encyclopedia
GCC developers have given this part of the compiler the somewhat contradictory name the "middle end." These optimizations include dead code elimination, partial redundancy elimination, global value numbering, sparse conditional constant propagation, and scalar replacement of aggregates.
GCC was originally written by Richard Stallman in 1987 as the compiler for the GNU Project, in order to have a compiler available that was free software.
The behavior of the GCC back end is partly specified by preprocessor macros and functions specific to a target architecture, for instance to define the endianness, word size, and calling conventions.
en.wikipedia.org /wiki/GNU_Compiler_Collection   (1137 words)

  
 590s-Fall2002
A New Algorithm for Partial Redundancy Elimination based on SSA Form
Array SSA form and its use in Parallelization
Lecture 12: September 26,2002: Efficiently computing SSA form (cont)
www.cs.purdue.edu /homes/suresh/590s-Fall2002   (351 words)

  
 Home Page of Prof. Thomas W. Reps
Various connections between dataflow analysis and model checking have been established in past work, e.g., [ S91, S93, S98, EK99, CC00 ]; however, with one exception ([ EK99 ]), past work has shed light only on the relationship between model checking and bit-vector dataflow-analysis problems, such as live-variable analysis and partial-redundancy elimination.
Conventional merged dataflow information can also be obtained by issuing appropriate queries; thus, the new approach provides a strictly richer framework for interprocedural dataflow analysis than is provided by conventional interprocedural dataflow-analysis algorithms.
Dataflow analysis is used so that links between unrelated assignments and uses are excluded.
www.cs.wisc.edu /~reps   (351 words)

  
 1322.txt
€ Loop Optimizations Code floating, partial redundancy elimination, strength reduction, linear test replacement, unswitching.
€ Code Replication Loop rotation, procedure integration, loop unrolling, basic block cloning.
€ Dominators Dominator trees, fast dominator algorithm, loop analysis.
jamaica.ee.pitt.edu /Archives/NewsGroupArchives/comp.org.acm/Jun1995/1322.txt   (351 words)

  
 Hongbo Rong, Home Page
Topics include partial redundancy elimination, static single assignment form, code selection, number representation, computer arithmetic, and pipelined architectures.
The other research is on a new program optimization based on the static single assignment form.
I was a guest instructor for Compiler Design and Introduction to Computer Systems Engineering (CPEG421/621 and CPEG323) in 2003 and 2004.
www.capsl.udel.edu /~rong   (186 words)

  
 DBLP: Jean-Francois Collard
Jens Knoop, Jean-Francois Collard, Roy Dz-Ching Ju : Partial Redundancy Elimination on Predicated Code.
Albert Cohen, Jean-Francois Collard: Instance-Wise Reaching Definition Analysis for Recursive Programs using Context-Free Transductions.
Denis Barthou, Albert Cohen, Jean-Francois Collard: Maximal Static Expansion.
www.informatik.uni-trier.de /~ley/db/indices/a-tree/c/Collard:Jean=Francois.html   (186 words)

  
 Partial Redundancy Elimination in SSA Form - Kennedy, Chan, Liu, Lo, Tu, Chow (ResearchIndex)
Partial Redundancy Elimination in SSA Form - Kennedy, Chan, Liu, Lo, Tu, Chow (ResearchIndex)
@article{ kennedy99partial, author = "Robert Kennedy and Sun Chan and Shin-Ming Liu and Raymond Lo and Peng Tu and Fred Chow", title = "Partial redundancy elimination in {SSA} form", journal = "ACM Transactions on Programming Languages and Systems", volume = "21", number = "3", pages = "627--676", year = "1999", url = "citeseer.ist.psu.edu/kennedy99partial.html" }
Robert Kennedy, Sun Chan, Shin-Ming Liu, Raymond Lo, Peng Tu, and Fred Chow.
citeseer.ist.psu.edu /kennedy99partial.html   (755 words)

  
 Home Page of Prof. Thomas W. Reps
Various connections between dataflow analysis and model checking have been established in past work, e.g., [ S91, S93, S98, EK99, CC00 ]; however, with one exception ([ EK99 ]), past work has shed light only on the relationship between model checking and bit-vector dataflow-analysis problems, such as live-variable analysis and partial-redundancy elimination.
Conventional merged dataflow information can also be obtained by issuing appropriate queries; thus, the new approach provides a strictly richer framework for interprocedural dataflow analysis than is provided by conventional interprocedural dataflow-analysis algorithms.
Dataflow analysis is used so that links between unrelated assignments and uses are excluded.
www.cs.wisc.edu /~reps   (755 words)

Try your search on: Qwika (all wikis)

Factbites
  About us   |   Why use us?   |   Reviews   |   Press   |   Contact us  
Copyright © 2005-2007 www.factbites.com Usage implies agreement with terms.