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 (LNCS) , vol. 6041 , pp. 107-124 . https://doi.org/10.1007/978-3-642-16478-1_7
dc.identifier.issn0302-9743
dc.identifier.otherdspace: 2299/5735
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 (LNCS)
dc.titleSymbiotic expressionsen
dc.contributor.institutionSchool of Computer Science
dc.contributor.institutionScience & Technology Research Institute
dc.description.statusPeer reviewed
rioxxterms.versionofrecord10.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