{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,26]],"date-time":"2026-02-26T16:07:00Z","timestamp":1772122020158,"version":"3.50.1"},"reference-count":39,"publisher":"Elsevier","isbn-type":[{"value":"9780128041895","type":"print"}],"license":[{"start":{"date-parts":[[2017,1,1]],"date-time":"2017-01-01T00:00:00Z","timestamp":1483228800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2017]]},"DOI":"10.1016\/b978-0-12-804189-5.00005-3","type":"book-chapter","created":{"date-parts":[[2017,6,29]],"date-time":"2017-06-29T16:15:09Z","timestamp":1498752909000},"page":"137-183","source":"Crossref","is-referenced-by-count":13,"title":["Source code transformations and optimizations"],"prefix":"10.1016","author":[{"given":"Jo\u00e3o M.P.","family":"Cardoso","sequence":"first","affiliation":[]},{"given":"Jos\u00e9 Gabriel F.","family":"Coutinho","sequence":"additional","affiliation":[]},{"given":"Pedro C.","family":"Diniz","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0010","first-page":"235","article-title":"Loop coalescing: a compiler transformation for parallel machines","author":"Polychronopoulos","year":"1987"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0015","first-page":"709","article-title":"The structure of an advanced vectorizer for pipelined processors","author":"Kuck","year":"1980"},{"issue":"8","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0020","doi-asserted-by":"crossref","first-page":"58","DOI":"10.1145\/209937.209944","article-title":"Flattening and parallelizing irregular, recurrent loop nests","volume":"30","author":"Ghuloum","year":"1995","journal-title":"ACM SIGPLAN Not"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0025","first-page":"301","article-title":"Maximizing loop parallelism and improving data locality via loop fusion and distribution","author":"Kennedy","year":"1994"},{"issue":"3","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0030","doi-asserted-by":"crossref","first-page":"219","DOI":"10.1023\/B:SUPE.0000011386.69245.f5","article-title":"Transforming complex loop nests for locality","volume":"27","author":"Yi","year":"2004","journal-title":"J Supercomput"},{"issue":"5","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0035","doi-asserted-by":"crossref","first-page":"499","DOI":"10.1023\/A:1007506711786","article-title":"Loop shifting for loop compaction","volume":"28","author":"Darte","year":"2000","journal-title":"Int J Parallel Prog"},{"issue":"4","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0040","doi-asserted-by":"crossref","first-page":"279","DOI":"10.1007\/BF01407876","article-title":"Loop skewing: the wavefront method revisited","volume":"15","author":"Wolfe","year":"1986","journal-title":"Int J Parallel Prog"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0045","first-page":"318","article-title":"Software pipelining: an effective scheduling technique for VLIW machines","author":"Lam","year":"1988"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0050","first-page":"63","article-title":"Iterative modulo scheduling: an algorithm for software pipelining loops","author":"Ramakrishna Rau","year":"1994"},{"issue":"4","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0055","doi-asserted-by":"crossref","DOI":"10.1145\/2541228.2555317","article-title":"Evaluator-executor transformation for efficient pipelining of loops with conditionals","volume":"10","author":"Jeong","year":"2013","journal-title":"ACM Trans Archit Code Optim"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0060","first-page":"25","article-title":"Quality of service profiling","author":"Misailovic","year":"2010"},{"issue":"8","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0065","doi-asserted-by":"crossref","first-page":"769","DOI":"10.1109\/71.706049","article-title":"A compiler optimization algorithm for shared-memory multiprocessors","volume":"9","author":"McKinley","year":"1998","journal-title":"IEEE Trans Parallel Distrib Syst"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0070","first-page":"186","article-title":"Memory access coalescing: a technique for eliminating redundant memory accesses","author":"Davidson","year":"1994"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0075","first-page":"136","article-title":"A programming language interface to describe transformations and code generation","author":"Rudy","year":"2010"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0080","series-title":"Partial evaluation and automatic program generation","author":"Jones","year":"1993"},{"issue":"2","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0085","first-page":"37","article-title":"Just-in-time value specialization","volume":"40","author":"Costa","year":"2014","journal-title":"Comput Lang Syst Struct"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0090","unstructured":"Weisstein EW. Taylor series, From MathWorld\u2014a Wolfram web resource. http:\/\/mathworld.wolfram.com\/TaylorSeries.html [Accessed November 2016]."},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0095","unstructured":"Weisstein EW. Newton's method, from MathWorld\u2014a Wolfram web resource. http:\/\/mathworld.wolfram.com\/NewtonsMethod.html [Accessed November 2016]."},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0100","first-page":"103","article-title":"Blocking and array contraction across arbitrarily nested loops using affine partitioning","author":"Lim","year":"2001"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0105","series-title":"Proceedings of the 5th international conference on supercomputing (ICS '91)","first-page":"194","article-title":"Optimization of array accesses by collective loop transformations","author":"Sarkar","year":"1991"},{"issue":"2","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0110","doi-asserted-by":"crossref","first-page":"132","DOI":"10.1145\/643470.643472","article-title":"Array recovery and high-level transformations for DSP applications","volume":"2","author":"Franke","year":"2003","journal-title":"ACM Trans Embed Comput Syst"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0115","first-page":"345","article-title":"An automatic object inlining optimization and its evaluation","author":"Dolby","year":"2000"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0120","first-page":"7","article-title":"Automatic inline allocation of objects","author":"Dolby","year":"1997"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0125","first-page":"179","article-title":"StreamIt: a language for streaming applications","author":"Thies","year":"2002"},{"issue":"8","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0130","doi-asserted-by":"crossref","first-page":"66","DOI":"10.1145\/135226.135230","article-title":"Compiling Fortran D for MIMD distributed memory machines","volume":"35","author":"Hiranandani","year":"1992","journal-title":"Commun ACM"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0135","series-title":"Using OpenMP: portable shared memory parallel programming (scientific and engineering computation)","author":"Chapman","year":"2007"},{"issue":"1","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0140","doi-asserted-by":"crossref","first-page":"129","DOI":"10.1007\/s11036-012-0368-0","article-title":"A survey of computation offloading for mobile systems","volume":"18","author":"Kumar","year":"2013","journal-title":"Mob Netw Appl"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0145","unstructured":"OpenMP application program interface, version 4.0; July 2013. http:\/\/www.openmp.org\/mp-documents\/OpenMP4.0.0.pdf."},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0150","series-title":"Compilers: principles, techniques, and tools","author":"Aho","year":"2006"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0155","series-title":"Dependence analysis","author":"Banerjee","year":"1997"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0160","series-title":"Optimizing compilers for modern architectures: a dependence-based approach","author":"Kennedy","year":"2001"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0165","series-title":"Advanced compiler design and implementation","author":"Muchnick","year":"1998"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0170","first-page":"312","article-title":"Multiple version loops","author":"Byler","year":"1987"},{"issue":"4","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0175","doi-asserted-by":"crossref","first-page":"345","DOI":"10.1145\/197405.197406","article-title":"Compiler transformations for high-performance computing","volume":"26","author":"Bacon","year":"1994","journal-title":"ACM Comput Surv"},{"issue":"3","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0180","doi-asserted-by":"crossref","first-page":"36","DOI":"10.1109\/40.591653","article-title":"Compiling Java just in time","volume":"17","author":"Cramer","year":"1997","journal-title":"IEEE Micro"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0185","first-page":"1","article-title":"Just-in-time value specialization","author":"Santos","year":"2013"},{"issue":"6","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0190","doi-asserted-by":"crossref","first-page":"465","DOI":"10.1145\/1543135.1542528","article-title":"Trace-based just-in-time type specialization for dynamic languages","volume":"44","author":"Gal","year":"2009","journal-title":"ACM SIGPLAN Not"},{"key":"10.1016\/B978-0-12-804189-5.00005-3_bb0195","first-page":"297","article-title":"System safety through automatic high-level code transformations: an experimental evaluation","author":"Cheynet","year":"2001"},{"issue":"4","key":"10.1016\/B978-0-12-804189-5.00005-3_bb0200","doi-asserted-by":"crossref","first-page":"366","DOI":"10.1145\/1113841.1113843","article-title":"Software-controlled fault tolerance","volume":"2","author":"Reis","year":"2005","journal-title":"ACM Trans Archit Code Optim"}],"container-title":["Embedded Computing for High Performance"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:B9780128041895000053?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:B9780128041895000053?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,8,31]],"date-time":"2018-08-31T03:00:30Z","timestamp":1535684430000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/B9780128041895000053"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017]]},"ISBN":["9780128041895"],"references-count":39,"URL":"https:\/\/doi.org\/10.1016\/b978-0-12-804189-5.00005-3","relation":{},"subject":[],"published":{"date-parts":[[2017]]}}}