About: Partial redundancy elimination     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : yago:WikicatCompilerOptimizations, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FPartial_redundancy_elimination

In compiler theory, partial redundancy elimination (PRE) is a compiler optimization that eliminates expressions that are redundant on some but not necessarily all paths through a program. PRE is a form of common subexpression elimination. For instance, in the following code: if (some_condition) { // some code that doesn`t alter ‘x’ y = x + 4; } else { // other code that doesn`t alter ‘x’ } z = x + 4; if (some_condition) { // some code that doesn`t alter ‘x’ t = x + 4; y = t; } else { // other code that doesn`t alter ‘x’ t = x + 4; } z = t;

AttributesValues
rdf:type
rdfs:label
  • Partial redundancy elimination
rdfs:comment
  • In compiler theory, partial redundancy elimination (PRE) is a compiler optimization that eliminates expressions that are redundant on some but not necessarily all paths through a program. PRE is a form of common subexpression elimination. For instance, in the following code: if (some_condition) { // some code that doesn`t alter ‘x’ y = x + 4; } else { // other code that doesn`t alter ‘x’ } z = x + 4; if (some_condition) { // some code that doesn`t alter ‘x’ t = x + 4; y = t; } else { // other code that doesn`t alter ‘x’ t = x + 4; } z = t;
sameAs
dct:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
foaf:isPrimaryTopicOf
prov:wasDerivedFrom
has abstract
  • In compiler theory, partial redundancy elimination (PRE) is a compiler optimization that eliminates expressions that are redundant on some but not necessarily all paths through a program. PRE is a form of common subexpression elimination. An expression is called partially redundant if the value computed by the expression is already available on some but not all paths through a program to that expression. An expression is fully redundant if the value computed by the expression is available on all paths through the program to that expression. PRE can eliminate partially redundant expressions by inserting the partially redundant expression on the paths that do not already compute it, thereby making the partially redundant expression fully redundant. For instance, in the following code: if (some_condition) { // some code that doesn`t alter ‘x’ y = x + 4; } else { // other code that doesn`t alter ‘x’ } z = x + 4; the expression x+4 assigned to z is partially redundant because it is computed twice if some_condition is true. PRE would perform code motion on the expression to yield the following optimized code: if (some_condition) { // some code that doesn`t alter ‘x’ t = x + 4; y = t; } else { // other code that doesn`t alter ‘x’ t = x + 4; } z = t; An interesting property of PRE is that it performs (a form of) common subexpression elimination and loop-invariant code motion at the same time. In addition, PRE can be extended to eliminate injured partial redundancies, thereby effectively performing strength reduction. This makes PRE one of the most important optimizations in optimizing compilers. Traditionally, PRE is applied to lexically equivalent expressions, but recently formulations of PRE based on static single assignment form have been published that apply the PRE algorithm to values instead of expressions, unifying PRE and global value numbering.
http://purl.org/voc/vrank#hasRank
http://purl.org/li...ics/gold/hypernym
is Link from a Wikipage to another Wikipage of
is Wikipage disambiguates of
is foaf:primaryTopic of
Faceted Search & Find service v1.17_git39 as of Aug 09 2019


Alternative Linked Data Documents: PivotViewer | iSPARQL | ODE     Content Formats:       RDF       ODATA       Microdata      About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3232 as of Jan 24 2020, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (61 GB total memory)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2020 OpenLink Software