[comp.lang.functional] Program transformations for parallelism

ari@kcl-cs.UUCP (ARI) (11/27/90)

I am looking for references to work on program transformations which are
aimed at automatic parallelization of functional programs. Can anyone help
with suggestions on the work done in this area?

Thanks,

				Ari
------------------------
e-mail: ari@uk.ac.kcl.cs, ari@arpa.kcl-cs.ac.uk

Ari Laakkonen
Dept. of Computing
King's College
Strand
London WC2R 2LS
England

mmh@cs.qmw.ac.uk (Matthew Huntbach) (11/28/90)

In article <1824@xenon.kcl-cs.UUCP> ari@kcl-cs.UUCP (Ari_Pekka Laakkonen) writes:
>
>I am looking for references to work on program transformations which are
>aimed at automatic parallelization of functional programs. Can anyone help
>with suggestions on the work done in this area?
>
Many algorithms are inherently sequential, and thus attempts
to parallelise programs based on them have proved disappointing.
I think a better approach is to develop new parallel
algorithms and implement them in your new parallel language.

Matthew Huntbach

chow@sp1.csrd.uiuc.edu (Jyh-Herng Chow) (11/29/90)

ari@kcl-cs.UUCP (ARI) writes:


>I am looking for references to work on program transformations which are
>aimed at automatic parallelization of functional programs. Can anyone help
>with suggestions on the work done in this area?

Luddy Harrison (at Center for Supercomputing Research and Development, 
University of Illinois at Urbana-Champaign) had written a automatic parallizing
compiler for Scheme, running on shared-memory multiprocessors. A reference
describes his work at length is:
  
  [Har90] Williams Ludwell Harrison III, The interprocedural analysis and
          automatic parallelization of scheme programs, in Lisp and Symbolic
          Computation: an International Journal, 2(3), 1989.
--
-----
Jyh-Herng Chow
Center for Supercomputing Research and Development
University of Illinois at Urbana-Champaign
305 Talbot Lab
104 South Wright Street
Urbana, IL 61801-2932

steve@hubcap.clemson.edu ("Steve" Stevenson) (11/29/90)

Long standing problem dating back to the late 60's. Here's a
bibliography of just some of the literature.


%Z Lori Pollock <lori@rice.edu>
%Z Here is a list of references from which I worked
%Z in my advanced compiler course.
%Z The course covered optimization, data flow analysis,
%Z code generation, register allocation, attribute
%Z grammars, and incremental evaluation.

%Z lethin@ai.mit.edu
%Z Andrew Ingalls <aingalls@sunfun.eta.com>
%Z ingalls.VAST Vectorizer
%Z ingalls.   Vectorization of non-recursive/non-data dependent loops
%Z ingalls.   Vectorization of both infinite (IF-THEN-GOTO loops) and DO/
%Z ingalls.    WHERE loop structures.
%Z ingalls.   Routine Expandsion
%Z ingalls.   Multiple Loop Collapse
%Z ingalls.   Picture Frame Collapse of Multiply Nested Loop structures
%Z ingalls.    (As many as 7 deep)
%Z ingalls.   The ability to REORDER/REDIMENSION arrays to increase
%Z ingalls.    'vectorizability'
%Z ingalls.   The ability (for the user) to SELECT which loop will be
%Z ingalls.    vectorized (so long as dependencies/recursions do not
%Z ingalls.    occur)

%A A. V. Aho
%A S. C. Johnson
%A J. D. Ullman
%T Code Generation for Machines with Multiregister Operations
%B 4th ACN Symposium of Principles of Programming Languages
%P 21-28

%A A. V. Aho
%A S. C. Johnson
%A J. D. Ullman
%T Code Generation for Expressions with Common Subexpressions
%J JACM
%V 24
%N 1
%P 146-160

%A A. V. Aho
%A J. D. Ullman
%T The Theory of Parsing, Translation, and Compiling, Vol 2: Compiling
%I Prentice-Hall
%D 1973

%A A. V. Aho
%A J. D. Ullman
%T Listings for Reducible Flow Graphs
%B 7th ACM Symposium on Theory of Computing
%D 1975
%P 177-185

%A A. V. Aho
%A Ravi Sethi
%A J. D. Ullman
%T Compilers: Principles, Techniques and Tools
%I Addison-Wesley
%D 1985

%A F. E. Allen
%T Control Flow Analysis
%J SIGPLAN Notices
%V 5
%N 7
%P 1-19
%D 1970

%A F. E. Allen
%A J. Cocke
%T A Catalogue of Optimizing Transformations
%B Design and Optimization of Compilers
%E R. Rustin
%I Prentice-Hall
%D 1971
%P 1-30.
%O Transformations

%A F. E. Allen
%T Interprocedural Data Flow Analysis
%J Proceedins of IFIP Congress
%V 74
%I North-Holland
%P 398-402
%D 1974
%C Amsterdam

%A F. E. Allen
%A J. Cocke
%T A Program Data Flow Analysis Procedure
%J CACM
%V 19
%N 3
%D 1976
%P 137-147

%A Fran E. Allen
%T Program Optimization
%B Annual Review in Automatic Programming
%E Mark I. Halpern
%E Christopher J. Shaw
%V 5
%I Pergamon Press
%C Oxford
%P 239-307
%D 1969

%A J. R. Allen
%A K. Kennedy
%T PFC: A program to convert Fortran to parallel form
%R MASC-TR82-6
%I Rice University

%A J. R. Allen
%A K. Kennedy
%T Automatic Loop Interchange
%B Proc. of the ACM SIGPLAN Symposium on Compiler Construction
%C Montreal
%D 1984
%P 233-246

%A J. R. Allen
%A K. Kennedy
%T Automatic Translation of Fortran Programs to Vector Form
%Z Rice COMP TR84-9 July 1984
%J Transactions on Programming Languages and Systems
%D October 1987
%O Parallelization

%A R. Allen
%A D. Callahan
%A K. Kennedy
%T Automatic Decomposition of Scientific Programs for Parallel Execution
%B Conference Record of the Fourteenth
ACM Symposium on Principles of Programming Languages
%D Jan 1987
%P 63-76.
%O Parallelization

%A B. Alpern
%A M. Wegman
%A F. Zadeck
%T Detecting equality of variables in programs
%B Fifteenth POPL
%D January 1988
%O Data Flow Analysis

%A Lee Badger
%A Mark Weiser
%T Minimizing Communication for Synchronizing Parallel Dataflow Programs
%J Proceedings of the 1988 International Conference on Parallel Processing
%V II, Software
%I Penn State
%C University Park, Penn
%D August 1988
%P 122-126
%K Compilers, MIMD, splitting, slicing, hammock graph, correctness proof,
splicing,
%X Misprint of pages (out of sequence in my copy).

%A J. Ball
%T Predicting the effects of optimization on a procedure body
%B SIGPLAN Compiler Construction Conference
%D August 1979
%O Interprocedural optimization

%A U. Banerjee
%T Speedup of Ordinary Programs
%R 79-989
%I Cornell University
%D 1979

%A U. Banerjee
%A S. C. Chen
%A D. J Kuck
%A R. A. Towle
%T Time and Parallel Processor Bounds for  Fortran-like Loops
%J IEEE Trans Comput
%V C-28
%N 9
%D 1979
%P 660-670

%A U. Banerjee
%T Direct Parallelization of Call Statements
%R Rept 576
%I Center for Supercomputer Research and Development
%D 1985

%A J. C. Beatty
%T REgister Assignment Algorithm for Generaton of Highly Optimized Object Code
%J IBM J. Res. Devel
%P 20-39

%A J. C. Beatty
%T A Global Register Assigment Algorithm
%B Design and Optimization of Compilers
%E R. Rustin
%I Prentice-Hall
%D 1972
%P 65-68

%A L. A. Belady
%T A Study of Replacement Algorithms for a Virtual Storage Computer
%I IBM
%J IBM Systems Journal
%V 5
%N 2
%D 1966
%P 78-101

%A J. Bruno
%A R. Sethi
%T Code Generation for a One-Register Machine
%J JACM
%V 23
%N 3
%P 502-510

%A M. Burke
%A R. Cytron
%T Interprocedural dependaence analysis and parallelization
%B SIGPLAN 1986 Symposium on Compiler Construction
%D 1986
%P 162-175
%O Interprocedural Analysis

%A V. A. Busam
%A D. E. Englund
%T Optimization of expresions in Fortran
%J CACM
%V 12
%N 12
%D 1969
%P 666-674

%A D. Callahan
%A K. D. Cooper
%A K. Kennedy
%A L. Torczon
%T Interprocedural Constant Propagation
%B ACM SIGPLAN 86 Symposium on Compiler Construction
%D June 1986
%P 152-161
%O Interprocedural optimization

%A D. Callahan
%A K. Kennedy
%T Analysis of Interprocedural Side Effects in a Parallel Programming
Environment
%B Proceedings of the First International Conference on Supercomputing
%D 1987
%Z Rice University TR 87-57
%O Interprocedural Analysis

%A D. Callahan
%T The program summary graph and flow-sensitive interprocedural data flow
analysis
%B SIGPLAN Conf. on Prog. Lang. Design and Imple.
%D June 1988.
%O Interprocedural Analysis

%A F. Chow
%A M. Himelstein
%A E. Killian
%A L. Weber
%D 1986
%B Proc. of Compcon 1986
%P 132-137
%T Engineering a RISC Compiler System

%A F. Chow
%A M. Himelstein
%A E. Killian
%A L. Weber
%T Engineering a RISC compiler system
%B Digest of Papers of the Thirtyfirst IEEE Computer Society International Conference
%I IEEE
%D Feb 1986
%P 132-137.
%O
An optimizing compiler can reduce the register saving/restoring (RSR) traffic
during function calls by changing the allocation of variables to registers
for leaf functions. ...

%A F. Chow
%A M. Himelstein
%A E. Killian
%A L. Weber
%T Engineering a RISC compiler system
%J Digest of Papers of the Thirtyfirst IEEE Computer Society International
Conference (CompCon 86 Spring)
%D February 1986
%P 132-137.

%T Minimizing register usage penalty at procedure calls
%A F. Chow
%B SIGPLAN Conf. on Prog. Lang. Design and Imple.
%D June 1988
%O Register Allocation

%A J. Cocke
%A K. Kennedy
%T An Algorithm for Reduction of Operator Strength
%J CACM
%V 20
%N 11
%P 850-856

%A J. Cocke
%T Global Common Subexpression Elimination
%J SIGPLAN Notices
%V 5
%N 7
%D 1970
%P 20-24

%A J. Cocke
%A J. T. Schwartz
%T Programming Languages and Their Compilers
%I Courant Institute of Mathematical Sciences
%D 1970

%A Robert P. Colwell
%A Robert P. Nix
%A John J. O'Donnel
%A David B. Papworth
%A Paul K Rodman
%J IEEE Transactions on Computers
%T A VLIW Architecture for a Trace Scheduling Compiler
%D Aug, 1988
%J 37
%N 8
%P 967-979

%A K. Cooper
%A K. Kennedy
%T Efficient Computation of Flow Insensitive Interprocedural
Summary Information
%B ACM SIGPLAN 84 Symposium on Compiler Construction
%D June 1984
%P 247-258
%O Interprocedural Analysis

%A K. Cooper
%O Aliases
%T Analyzing aliases of references formal parameters
%B Twelfth POPL
%D January 1985
%O Interprocedural optimization

%T The Impact of Interprocedural Analysis and Optimization
in the $R sup n$ Programming Environment
%A K. Cooper
%A K. Kennedy
%A L. Torczon
%B ACM Transactions on Programming Languages and Systems
%D October 1986
%P 491-523
%O Incremental Compilation/Optimization in Programming Environments

%A K. Cooper
%A K. Kennedy
%T Interprocedural side-effect analysis in linear time
%B SIGPLAN Conf. on Prog. Lang. Design and Imple.
%D June 1988.
%O Interprocedural Analysis

%A D. S. Coutant
%A C. L. Hammond
%A J. W. Kelley
%T Compilers for the New Generation of Hewlett-Packard Computers
%D 1986
%J Hewlett-Packard Journal
%P 4-18

%A R. Cytron
%A M. Burke
%T ??

%A R. Cytron
%A A. Lowry
%A K. Zadeck
%T Code motion of control structures in high-level languages
%B Thirteenth POPL
%D January 1986.
%O Data Flow Analysis

%A R. Cytron
%T ??
%I ??
%D ??
%O automatic parallelization

%T A retargetable instruction reoranizer
%A J. Davidson
%B SIGPLAN Compiler Construction Conf.
%D June 1986
%O Low Level and Peephole Optimizations

%A Henry G. Dietz
%Z Purdue
%T Finding Large-Grain Parallelism In Loops With Serial Control Dependencies
%J Proceedings of the 1988 International Conference on Parallel Processing
%V II, Software
%I Penn State
%C University Park, Penn
%D August 1988
%P 114-121
%K Compilers, control precomputation, transformation, closure loop,
synchronization, iteration, restructuring
%X Paper should have summarized comparison to DOALL and FORALL loops.
Needs to speak more about loop exception handling or branching.
Proposes a way to "straighten out" loops.

%A Rice Faculty
%T ?
%J TOPLAS
%D Dec, 1986
%O Function/interprocedural optimizations

%T The Program Dependence Graph and its Use in Optimization
%A J. Ferrante
%A K. J. Ottenstein
%A J. D. Warren
%J ACM Transactions on Programming Languages and Systems
%D July 1987
%P 319-349
%O Parallelization

%T Trace Scheduling: A Technique for Global Microcode Compaction
%A J. Fisher
%J IEEE Transactions on Computers
%V C-30
%N 7
%D July 1981
%P 478-490
%O Low Level and Peephole Optimizations

%T Integrating code generation and optimization
%A C. Fraser
%A A. Wendt
%B SIGPLAN Compiler Construction Conf.
%D June 1986
%O Low Level and Peephole Optimizations

%T Automatic generation of fast optimizing code generators
%A C. Frazer
%A A. Wendt
%B SIGPLAN Conf. on Prog. Lang. Design and Implementaion
%D June 1988
%O Low Level and Peephole Optimizations

%T A Systematic Approach to Advanced Debugging through Incremental Compilation
%A P. Fritzson
%B ACM SIGSOFT/SIGPLAN Software Engineering Symposium on High-Level
Debugging
%D March 1983
%P 130-139
%O Incremental Compilation/Optimization in Programming Environments

%T Efficient Instruction Scheduling for a Pipelined Architecture
%A P. B. Gibbons
%A S. S. Muchnick
%B ACM SIGPLAN 86 Symposium on Compiler Construction
%D June 1986
%P 11-16
%O Low Level and Peephole Optimizations

%A S. L. Graham
%A M. Wegman
%T A Fast and Usually Linear Algorithm for Global Flow Analysis
%B 2nd ACM Symposium on Principls of Programming Languages
%D 1975
%P 22-34
%A Samuel P. Harbison
%T A Computer Architecture for the Dynamic Optimization of High-Level
Language Programs
%R CMU-CS-80-143
%I Computer Science Dept., Carnegie-Mellon University
%D September 1980
%O
Table 2-2 Optimization Techniques
Loop manipulations
Constant folding
Constant propagation
CSE Elimination
Code motion
Strength reduction
Register allocations
Evaluation optimizations
Access mode determination
Variable packing
Tree transformations

%A David Gries
%T Compiler Construction for Digital Computers
%I John Wiley
%D 1971

%A L. Grob
%T ??
%O Parallelism detection

%A W. Harrison
%T Compiler analysis of the value ranges for variables
%J IEEE Transactions on Software Engineering
%V SE-3
%N  3
%D May 1977
%O Data Flow Analysis

%A W. L. Harrison
%T Compiling LISP for Evaluation on a Tightly Coupled Multiprocessor
%I Center for Supercomputing Res. & Dev., Univ. of Ill. at U-C
%R Rpt. No. 565
%D Mar., 1986
%O Mr. Harrison's PhD Thesis, which will cover the same area as the following,
will be out in a few months.  Many of the techniques covered are not limited
to Lisp.

%A M. S. Hecht
%A J. D. Ullman
%T Flow Graph Reducibility
%J SIAM J. Comput
%V 1
%N 2
%P 188-202

%A M. S. Hecht
%T Flow Analyusis of Computer Programs
%I Elsevier
%C Amsterdam
%D 1977

%T Program optimization and exception handling
%A J. Hennessy
%J ??

%T Symbolic Debugging of Optimized Code
%A J. Hennessy
%J ACM Transactions on Programming Languages and Systems
%V 4
%N 3
%D July 1982
%P 323-344
%O Symbolic Debugging and Optimization

%T Postpass Code Optimization of Pipeline Constraints
%A J. Hennessy
%A T. Gross
%J ACM Transactions on Programming Languages and Systems
%D July 1983
%P 422-448
%O Low Level and Peephole Optimizations

%A J. E. Hopcroft
%A J. D. Ullman
%T An nlogn algorithm to dectect reducible graphs
%B Proc.6th Annyal Princeton Conf on Informaiton Sciences and Systems
%P 119-122

%A Harlan E Husmann
%A David J. Kuck
%A David A. Padua
%Z CSRD, U. Ill.
%T Automatic Compound Function Definition for Multiprocessors
%J Proceedings of the 1988 International Conference on Parallel Processing
%V II, Software
%I Penn State
%C University Park, Penn
%D August 1988
%P 33-41
%K Compilers, program graph, compound functions (CF), control functions (CTF),
[original, additional, candidate] computation functions (CPF),
block access-no overlap architecture,
loop parallelism CF definition, optimal CF definition, Fortran,
DoAll, DoAcross, iterative control structures, program restructuring,
benchmark experiments (Eispack and Linpack), Parafrase

%A Christopher Alan Huson
%T An In-Line Subroutine Expander for Parafrase
%I Univ. of Illinois at Urbana-Champaign, Dept. of Computer Sci.
%R Rpt. No. 82-1118
%D Dec., 1982

%A IEEE Computer Society
%T Software Special Issue on Parallel Programming Environments and Languages
%D July 1989

%A J. B. Kam
%A J. D. Ullman
%T Monotone Data Flow Analysis Frameworks
%J Acta Informatica
%V 7
%D 1977
%P 305-317
%O Data Flow Analysis

%A K. Kennedy
%T A Global Flow Analysis Algorithm
%J International J. Comp Math
%V 3
%N 1
%P 5-16

%A K. Kennedy
%T Node Listings Applied to Data Flow Analysis
%B 2nd ACM Symposium on Principles of Programming Languages
%D 1975
%P 10-21

%A D. E. Knuth
%T An empirical study of FORTRAN programs
%J Software - Practice and Experience
%V 1
%N 12
%D  1971.
%P 105-134
%O Motivation for optimization

%A D. J. Kuck
%A et al.
%T Dependence Graphs and Compiler Optimization
%B Conference Record of the Eighth ACM Symposium on Principles of
Programming Languages
%D Jan. 1981
%P 207-218
%O Parallelization

%T Register Allocation in the SPUR Lisp Compiler
%A J. R. Larus
%A R. N. Hilfinger
%B ACM SIGPLAN 86 Symposium on Compiler Construction
%D June 1986
%P 255-263.
%O Register Allocation

%A Gyungho Lee
%Z U. of SW Louisiana
%T Automatic Restructuring of Conditional Cyclic Loops
%J Proceedings of the 1988 International Conference on Parallel Processing
%V II, Software
%I Penn State
%C University Park, Penn
%D August 1988
%P 42-45
%K Compilers, shared memory machines, CREW PRAM, postfix-IF,
linear mixed recurrence, binary tree representation, path selection

%T A Guidebook to Fortran on Supercomputers
%A John M. Levesque
%A Joel W. Williamson
%C NY
%I Academic Press
%D 1988

%A Zhiyuan Li
%A Pen-Chung Yew
%T Interprocedural Analysis and Program Restructuring for Parallel Programs
%I Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev.
%R CSRD Report No. 720

%A Zhiyuan Li
%A Pen-Chung Yew
%T Interprocedural Analysis for Parallel Programs
%J To appear in Proc. of 1988 Int'l. Conf. on Parallel Processing, St. Charles, IL
%D August 1988

%A J. Lipkis
%A L. Grob
%T ??
%O Survey

%A D. B. Loveman
%T Program Improvement by Source-to-Source Transformation
%J JACM
%V 20
%N 1
%D Jan. 1977
%P 121-145
%O Transformations

%A E. Lowry
%A C. W. Medlock
%T Object Code Optimizaiton
%J CACM
%V 12
%N 1
%D 1971
%P 13-22

%A W. J. Meyer
%T Optimization of Computer Code
%I G. E. Research Center
%C Schenectady, NY
%R Unpublished
%P 12

%A E. Morel
%A C. Renvoise
%T Global optimization by suppression of partial redundancies
%J CACM
%V 22
%N 2
%D Feb. 1979.
%O Data Flow Analysis

%A E. W. Myers
%T A Precise Inter-procedural Data Flow Algorithm
%B Conference Record of the Eighth ACM Symposium on Principles of Programming Languages
%D Jan. 1981
%P 219-230
%O Interprocedural Analysis

%A Ikuo Nakata
%T On Compiling Algorithms fro Arithmetic Expressions
%J CACM
%V 10
%N 8
%P 492-494

%A K. J. Ottenstein
%T A Brief Survey of Implicit Parallelism Detection
%B Parallel MIMD Computation: HEP Supercomputer and Its Applications
%E Janusz Kowalik
%I MIT Press
%D 1985
%P 93-122
%O Parallelization

%A D. Padua
%A M. J. Wolfe
%T Advanced Compiler Optimizations for Supercomputers
%J CACM
%V 29
%N 12
%D Dec 1986
%P 1184-1201

%T Incremental Compilation of Locally Optimized Code
%A L. Pollock
%A M. L. Soffa
%B Conference Record of the Twelfth ACM Symposium on Principles
of Programming Languages
%D Jan. 1985
%P 152-164
%O Incremental Compilation/Optimization in Programming Environments

%A B. Rosen
%A M. Wegman
%A F, Zadeck
%T Global value numbers and redundant computations
%B Fifteenth POPL
%D January 1988.
%O Data Flow Analysis

%T Incremental Data Flow Analysis
%A B. Ryder
%B Conference Record of the Tenth ACM Symposium on Principles of Programming
Languages
%D Jan. 1983
%P 167-176
%O Incremental Compilation/Optimization in Programming Environments

%A Vivek Sarkar
%T Partitioning and Scheduling parallel programs for multiprocessors
%I MIT Press
%D 1989

%A M. Schaefer
%T A Mathyematical Theory of Global Program Optimization
%I Prentice-Hall
%D 1973?
%X
Noted in AU Theory of Parsing ... as ``to appear''

%A R. Scheifler
%T An analysis of inline substitution for a structured programming language
%JCACM
%V 20
%N 9
%D Sept. 1977.
%O Interprocedural optimization

%A E. Schonberg
%T ??
%J SIGPLAN Notices
%D 1989?

%A Ravi Sethi
%A J. D. Ullman
%T The Generation of Optimal Code for Arithmetic Expressions
%J JACM
%V 17
%N 4
%P 715-728

%A Weijia Shang
%A Jose A. B. Fortes
%Z Purdue
%T On The Independent Partitioning of Algorithms With Uniform Data
Dependencies
%J Proceedings of the 1988 International Conference on Parallel Processing
%V II, Software
%I Penn State
%C University Park, Penn
%D August 1988
%P 26-33
%K Compilers, index set, dependence vectors,
greatest common divisor (GCD) method, minimum distance method, proof

%A S. Sobek
%A M. Azam
%A J. C. Browne
%Z U. Texas
%T Architectural and Language Independent Parallel Programming: A
Feasibility Demonstration
%J Proceedings of the 1988 International Conference on Parallel Processing
%V II, Software
%I Penn State
%C University Park, Penn
%D August 1988
%P 80-83
%K Languages, Ada C, Fortran, Sequent Balance, VAX cluster, iPSC
Hypercube, Cray X-MP, SUN front-end, declarative hierarchies,
computation-oriented display environment (CODE),
schedulable units of computation (SUC), dependence, encapsulation,
Translator Of A Declaration (TOAD)

%A P. David Stotts
%Z U. Maryland
%T The PFG Language: Visual Programming for Concurrent Computation
%J Proceedings of the 1988 International Conference on Parallel Processing
%V II, Software
%I Penn State
%C University Park, Penn
%D August 1988
%P 72-79
%K Languages, parallel flow graphs, timed Petri nets, free-choice class,
HG software model, data model, static program model, control flow model,
h-graph selector, cbranch, nbranch, fork,-join, deadlock and reachability,
SUN workstation

%A H. R. A. Strong
%A A. Maggiolo-Schettini
%A B. A. Rosen
%T Recusion Structure Simplification
%J SIAM J. Comput
%V 4
%N 3
%D 1975
%P 307-320

%A R. E. Tarjan
%T A Unified Approach to Path Problems
%J JACM
%V 28
%N 3
%D July 1981
%P 577-593
%O Data Flow Analysis

%A Jean-Paul Tremblay
%A Paul G. Sorenson
%T The Theory and Practice of Compiler Writing
%I McGraw-Hill Inc.
%D 1984

%T Direct Parallelization of Call Statements
%A R. Triolet
%A F. Irigoin
%A P. Feautrier
%B ACM SIGPLAN 1986 Symposium on Compiler Construction
%D June 1986
%P 176-185
%O Parallelization

%A R. Triolet
%A F. Irigoin
%A P. Feautrier
%T Direct Parallelization of Call Statements
%J Proc. of the SIGPLAN 86 Symp. on Compiler Construction, SIGPLAN No. 21
%P 176-185
%D July, 1986

%A Remi Triolet
%A Paul Feautrier
%A Francois Irigoin
%T Automatic Parallelizations of Fortran Programs in the Presence of Procedure Calls
%J To appear: European Symposium on Programming Languages
%D 1986

%A Remi Triolet
%T Interprocedural Analysis for Program Restructuring with Parafrase
%I Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev.
%R CSRD Rpt. No. 538
%D Aug., 1986

%A J. D. Ullman
%T Fast Algorithms for the Elination of Common Subexpressions
%J Acta Informatica
%V 2
%N 3
%D 1973
%P 191-213

%T Global register allocation at link time
%A D. Wall
%B SIGPLAN Compiler Construction Conf
%D June 1986.
%O Register Allocation

%A M. Wegman
%A K. Zadeck
%T Constant Propagation with Conditional Branches
%B Conference Record of the Twelfth ACM Syposium on Principles of Programming Languages
%D Jan. 1985
%P 291-299
%O Data Flow Analysis

%T Data Dependence
%A M. J. Wolfe
%R Optimizing Supercompilers for Supercomputers
%X Ph. D. Dissertation
%D October 1982
%P 11-57
%O Parallelization

%T Structure of a Supercomplier
%A M. J. Wolfe
%R Optimizing Supercompilers for Supercomputers
%X Ph. D. Dissertation
%D October 1982
%P 214-218
%O Parallelization

%A Michael Wolfe
%T Optimizing Supercompilers for supercomputers
%I MIT press
%D 1989

%A W. A. Wulf
%A A. Russell
%A A. N. Habermann
%T BLISS: A Language for Systems Programming
%J CACM
%V 14
%N 12
%P 780-790

%A W. A. Wulf
%A R. K. Johnson
%A C. B. Weinstock
%A S. O. Hobbs
%A C. M. Geschke
%T The Design of an Optimizing Compiler
%C NY
%I Elsevier North-Holland
%D 1975

%T Incremental Data Flow Analysis in a Structured Program Editor
%A K. Zadeck
%B ACM SIGPLAN 84 Symposium on Compiler Construction
%D June 1984
%P 132-143
%O Incremental Compilation/Optimization in Programming Environments

%T An Interactive High-Level Debugger for Control-Flow Optimized Programs
%A P. T. Zellweger
%B ACM SIGSOFT/SIGPLAN Software EngineeringSymposium on High-Level Debugging
%D March 1983
%P 159-171

%A P. T. Zellweger
%R Interactive Source-Level Debugging for Optimized Programs
%X Chapters on "Optimization and the Problems It Causes for Debugging",
``Solution Techniques,(Chapters 3 and 4)
%D May 1984
%O Symbolic Debugging and Optimization


-- 
===============================================================================
Steve (really "D. E.") Stevenson           steve@hubcap.clemson.edu
Department of Computer Science,            (803)656-5880.mabell
Clemson University, Clemson, SC 29634-1906

abrodnik@watdragon.waterloo.edu (Andrej Brodnik (Andy)) (12/03/90)

In article <3100@sequent.cs.qmw.ac.uk> mmh@cs.qmw.ac.uk (Matthew Huntbach) writes:
>Many algorithms are inherently sequential, and thus attempts
>to parallelise programs based on them have proved disappointing.
>I think a better approach is to develop new parallel
>algorithms and implement them in your new parallel language.


And what to do with already written programmes? Should we employ a whole
mankind to convert their algorithms into more appropriate form? I think that
the main reason why to parallelise programmes lies in "history".

Andrej