Show simple item record

dc.contributor.authorBernecky, R.
dc.contributor.authorHerhut, S.
dc.contributor.authorScholz, S.
dc.date.accessioned2011-04-26T08:17:11Z
dc.date.available2011-04-26T08:17:11Z
dc.date.issued2011
dc.identifier.citationBernecky , R , Herhut , S & Scholz , S 2011 , ' Symbiotic expressions ' , Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) , vol. 6041 , pp. 107-124 . https://doi.org/10.1007/978-3-642-16478-1_7
dc.identifier.issn0302-9743
dc.identifier.otherPURE: 84315
dc.identifier.otherPURE UUID: 3dc5d3cc-41e6-4369-b473-548ce2ff48a5
dc.identifier.otherdspace: 2299/5735
dc.identifier.otherScopus: 78649934232
dc.identifier.urihttp://hdl.handle.net/2299/5735
dc.description"The original publication is available at www.springerlink.com" Copyright Springer [Full text of this article is not available in the UHRA]
dc.description.abstractWe introduce symbiotic expressions, a method for algebraic simplification within a compiler, in lieu of an SMT solver, such as Yices or the Omega Calculator. Symbiotic expressions are compiler-generated expressions, temporarily injected into a program’s abstract syntax tree (AST). The compiler’s normal optimizations interpret and simplify those expressions, making their results available for the compiler to use as a basis for decisions about further optimization of the source program. The expressions are symbiotic, in the sense that both parties benefit: an optimization benefits, by using the compiler itself to simplify expressions that have been attached, lamprey-like, to the AST by the optimization; the program being compiled benefits, from improved run-time in both serial and parallel environments. We show the utility of symbiotic expressions by using them to extend the SAC compiler’s With-Loop-Folding optimization, currently limited to Arrays of Known Shape (AKS), to Arrays of Known Dimensionality (AKD). We show that, in conjunction with array-based constant-folding, injection and propagation of array extrema, and compiler-based expression simplification, symbiotic expressions are an effective tool for implementing advanced array optimizations. Symbiotic expressions are also simpler and more likely to be correct than hard-coded analysis, and are flexible and relatively easy to use. Finally, symbiotic expressions are synergistic: they take immediate advantage of new or improved optimizations in the compiler. Symbiotic expressions are a useful addition to a compiler writer’s toolkit, giving the compiler a restricted subset of the analysis power of an SMT solver.en
dc.language.isoeng
dc.relation.ispartofLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
dc.titleSymbiotic expressionsen
dc.contributor.institutionSchool of Computer Science
dc.contributor.institutionScience & Technology Research Institute
dc.description.statusPeer reviewed
rioxxterms.versionofrecordhttps://doi.org/10.1007/978-3-642-16478-1_7
rioxxterms.typeJournal Article/Review
herts.preservation.rarelyaccessedtrue


Files in this item

FilesSizeFormatView

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record