@inproceedings{knobe98array, author = {Kathleen Knobe and Vivek Sarkar}, title = {Array {SSA} form and its use in parallelization}, booktitle = {Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages}, year = {1998}, pages = {107--120}, abstract = {extends SSA form to handle arrays more elegantly}, url = {http://doi.acm.org/10.1145/268946.268956} }
@inproceedings{fink00unified, author = {Stephen Fink and Kathleen Knobe and Vivek Sarkar}, title = {Unified Analysis of Array and Object References in Strongly Typed Languages}, booktitle = {Proceedings of the 7th International Static Analysis Symposium}, year = {2000}, pages = {155-174}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = {1824}, abstract = {extends SSA to handle arrays and objects, in Java-like langs. Builds upon the original Array SSA - by splitting classes up into heap-arrays of appropriate fields, and indexing into these heap arrays by object references (quite clever!) Then just uses standard Array SSA transformation. three kinds of phi nodes - standard, then array defn phi, then array use phi. Rename arrays each time we do a lookup (cf SSU). Uses global value numbering instead of points-to analysis to determine when object references are same/different. Analysis enables scalar replacement - remove redundant loads, then redundant stores. Comments that transformation to SSA leads to flow-sensitivity property. Actually implemented in IBM Jalapeno JIT compiler.}, url = {http://citeseer.ist.psu.edu/fink00unified.html} }
@article{feautrier91dataflow, author = {Paul Feautrier}, title = {Dataflow analysis of array and scalar references}, journal = {International Journal of Parallel Programming}, volume = {20}, number = {1}, pages = {23--51}, month = {Feb}, year = {1991}, abstract = {Introduces the concept of dynamic single assignment form (DSA).}, url = {http://citeseer.ist.psu.edu/feautrier91dataflow.html} }
@techreport{offner03weak, author = {Carl Offner and Kathleen Knobe}, title = {Weak Dynamic Single Assignment Form}, month = {Nov}, year = {2003}, number = {TR-HPL-2003-169}, institution = {HP Labs}, abstract = {reviews array SSA, goes onto develop dynamic single assignment, which is similar to linear naming, only seems to be for arrays. Make it work by adding extra dimensions to arrays to cope with repeated assignments to same elements (probably due to loops)}, url = {http://www.hpl.hp.com/techreports/2003/HPL-2003-169R1.html} }
@article{rau96iterative, author = {B. Ramakrishna Rau}, title = {Iterative modulo scheduling}, journal = {International Journal of Parallel Processing}, volume = {24}, number = {1}, pages = {3--64}, month = {Feb}, year = {1996}, abstract = {also available as a HP Labs technical report. Describes DSA and expanded virtual registers, the cloning support nec for DSA. Basically converts each scalar into an array}, url = {http://www.hpl.hp.com/techreports/94/HPL-94-115.html} }
@techreport{vanbroekhoven03step, author = {Peter Vanbroekhoven and Gerda Janssens and Maurice Bruynooghe and Henk Corporaal and Francky Catthoor}, title = {A Step towards a Scalable Dynamic Single Assignment Conversion}, institution = {Department of Computer Science, Katholieke Universiteit Leuven}, number = {CW 360}, month = {Apr}, year = {2003}, abstract = {gives some motivation for DSA in terms of memory hierarchy design for embedded systems. Then gives two diff methods for constructing DSA, one from SSA, one from CFG. Plenty of discussion, no results and not much analysis.}, url = {http://www.cs.kuleuven.be/publicaties/rapporten/cw/CW360.abs.html} }
@inproceedings{cytron93efficient, author = {Ron Cytron and Reid Gershbein}, title = {Efficient accommodation of may-alias information in {SSA} form}, booktitle = {Proceedings of the ACM SIGPLAN 1993 Conference on Programming Language Design and Implementation}, year = {1993}, pages = {36--45}, abstract = {really simple}, url = {http://doi.acm.org/10.1145/155090.155094} }
@inproceedings{chow96effective, author = {Fred C. Chow and Sun Chan and Shin-Ming Liu and Raymond Lo and Mark Streich}, title = {Effective Representation of Aliases and Indirect Memory Operations in {SSA} Form}, booktitle = {Proceedings of the International Conference on Compiler Construction}, pages = {253-267}, year = {1996}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = {1060}, abstract = {rather complicated!}, url = {http://citeseer.ist.psu.edu/chow96effective.html} }
@inproceedings{lapkowski98extended, author = {Christopher Lapkowski and Laurie J. Hendren}, title = {Extended {SSA} Numbering: Introducing {SSA} Properties to Language with Multi-level Pointers}, booktitle = {Proceedings of the 7th International Conference on Compiler Construction}, pages = {128-143}, year = {1998}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = {1383}, abstract = {SSA for pointers. No phi nodes, instead it just does global value numbering for scalar variables, and for single-indirect pointers. A ptr has two global value numbers, one for the var itself, and one for the location it points to. This allows us to detect symbolic equality, and to make assumptions about definition sets. No explicit phi nodes, they aren't deemed necessary.}, url = {http://citeseer.ist.psu.edu/lapkowski96extended.html} }
@inproceedings{hasti98using, author = {Rebecca Hasti and Susan Horwitz}, title = {Using static single assignment form to improve flow-insensitive pointer analysis}, booktitle = {Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation}, year = {1998}, pages = {97--105}, abstract = {Claims that SSA turns flow-insensitive analysis into flow-sensitive analysis. Slightly suspect paper. But interesting claim, even if not backed up formally.}, url = {http://doi.acm.org/10.1145/277650.277668} }
@inproceedings{carter99predicated, author = {Lori Carter and Beth Simon and Brad Calder and Larry Carter and Jeanne Ferrante}, title = {Predicated Static Single Assignment}, booktitle = {Proceedings of the International Conference on Parallel Architectures and Compilation Techniques}, year = {1999}, pages = {245--255}, abstract = {a little like SSI, if you factor full-path-predicates into the variable names. Does SSA-like scheme for predicated ISAs, such as IA64.}, url = {http://doi.ieeecomputersociety.org/10.1109/PACT.1999.807561} }
@article{knoop03constant, author = {J. Knoop and O. RĂ¼thing}, title = {Constant Propagation on Predicated Code}, journal = {Journal of Universal Computer Science}, year = {2003}, volume = {9}, number = {8}, pages = {829--850}, url = {http://www.jucs.org/jucs_9_8/constant_propagation_on_predicated}, abstract = {constant propagation analysis on a value graph, relies on a predicated form of SSA} }
@inproceedings{lin03compiler, author = {Jin Lin and Tong Chen and Wei-Chung Hsu and Pen-Chung Yew and Roy Dz-Ching Ju and Tin-Fook Ngai and Sun Chan}, title = {A compiler framework for speculative analysis and optimizations}, booktitle = {Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation}, year = {2003}, pages = {289--299}, abstract = {quite involved, but enables data speculation in SSA form, with notion of likeliness of operations}, url = {http://doi.acm.org/10.1145/781131.781164} }
@inproceedings{roy10hot, title = {The Hot Path SSA Form: Extending the Static Single Assignment Form for Speculative Optimizations}, author = {Subhajit Roy and Y. N. Srikant}, booktitle = {Proceedings of the International Conference on Compiler Construction}, series = {Lecture Notes in Computer Science}, year = {2010}, volume = {6011/2010}, pages = {304--323}, url = {http://dx.doi.org/10.1007/978-3-642-11970-5_17}, abstract = {Does profiling to identify hot paths through a CFG, then introduces the tau-function, which allows us to discard variable definitions from non-hot paths, enabling speculative optimizations like constant propagation. Shows how speculative constant propagation works on real programs, with a hit-rate metric that shows how often speculation is correct.} }
@inproceedings{srinivasan93static, author = {Harini Srinivasan and James Hook and Michael Wolfe}, title = {Static single assignment for explicitly parallel programs}, booktitle = {Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages}, year = {1993}, pages = {260--272}, abstract = {early attempt at dealing with simple kind of parallelism, introduces extra pseudo-assignment for parallel merge points}, url = {http://doi.acm.org/10.1145/158511.158644} }
@inproceedings{lee97concurrent, author = {Jaejin Lee and Samuel P. Midkiff and David A. Padua}, title = {Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs}, booktitle = {Proceedings of the 10th International Workshop on Languages and Compilers for Parallel Computing}, year = {1997}, pages = {114--130}, publisher = {Springer}, series = {Lecture Notes in Computer Science}, volume = {1366}, abstract = {caters for more complicated parallel programs, introduces an extra pseudo-assignment}, url = {http://citeseer.ist.psu.edu/lee97concurrent.html} }
@inproceedings{novillo98concurrent, author = {Diego Novillo and Ronald C. Unrau and Jonathan Schaeffer}, title = {Concurrent {SSA} Form in the Presence of Mutual Exclusion}, booktitle = {Proceedings of the International Conference on Parallel Processing}, year = {1998}, pages = {356--364}, abstract = {more complicated still. Extends CSSA with support for mutexes}, url = {http://citeseer.ist.psu.edu/novillo98concurrent.html} }
@inproceedings{lee99basic, author = {Jaejin Lee and David A. Padua and Samuel P. Midkiff}, title = {Basic compiler algorithms for parallel programs}, booktitle = {Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming}, year = {1999}, pages = {1--12}, abstract = {clearest description of concurrent CFGs and CSSA. With three diff kinds of pseudo-assignment now.}, url = {http://doi.acm.org/10.1145/301104.301105} }
@inproceedings{bodik00abcd, author = {Rastislav Bodik and Rajiv Gupta and Vivek Sarkar}, title = {{ABCD}: eliminating array bounds checks on demand}, booktitle = {Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation}, year = {2000}, pages = {321--333}, abstract = {similar to SSI, has phi functions, and also pi functions to rename at conditional branches and after array bounds checks}, url = {http://doi.acm.org/10.1145/349299.349342} }
@phdthesis{stoltz95intermediate, author = {Eric James Stoltz}, title = {Intermediate Compiler Analysis via Reference Chaining}, month = {Jan}, year = {1995}, school = {Oregon Graduate Institute of Science and Technology}, abstract = {reference chaining - a generalization of SSA. For forwards or backwards data flow problems, but not both. Talks a lot about factored use and def chains. A student of Michael Wolfe's}, url = {http://www.cse.ogi.edu/tech-reports/1995/95-TH-001.ps.gz} }
@inproceedings{stoltz94extended, author = {Stoltz, Eric and Gerlek, Michael P. and Wolfe, Michael}, title = {{E}xtended {SSA} with Factored Use-Def Chains to Support Optimization and Parallelism}, booktitle = {Proceedings of the Hawaii International Conference on Systems Sciences}, pages = {43--52}, year = {1994}, abstract = {introduces concept of factored use-def chains, as a form of SSA}, url = {http://citeseer.ist.psu.edu/stoltz94extended.html} }
@article{gerlek95beyond, author = {Michael P. Gerlek and Eric Stoltz and Michael Wolfe}, title = {Beyond induction variables: detecting and classifying sequences using a demand-driven SSA form}, journal = {ACM Transactions on Programming Languages and Systems}, volume = {17}, number = {1}, year = {1995}, pages = {85--122}, abstract = {haven't actually read this. It uses a variant of SSA to discover properties of variables. Mentions FUD chains.}, url = {http://doi.acm.org/10.1145/200994.201003} }
@inproceedings{leung99static, author = {Allen Leung and Lal George}, title = {Static single assignment form for machine code}, booktitle = {Proceedings of the ACM SIGPLAN 1999 Conference on Programming Language Design and Implementation}, year = {1999}, pages = {204--214}, abstract = {simple techniques so machine code can be properly represented as SSA, and optimised using SSA algms}, url = {http://doi.acm.org/10.1145/301618.301667} }
@inproceedings{ronne04interpreting, author = {Jeffery {von Ronne} and Ning Wang and Michael Franz}, title = {Interpreting Programs in Static Single Assignment Form}, booktitle = {Proceedings of the ACM SIGPLAN 2004 Workshop on Interpreters, Virtual Machines and Emulators}, year = {2004}, pages = {23--30}, abstract = {interpretable SSA. Simple techniques to interpret phi fns, single-assignment arrays, etc. V similar to SafeTSA}, url = {http://doi.acm.org/10.1145/1059579.1059585} }
This file was generated by bibtex2html 1.96.