Learn More
Static single assignment (SSA) form is a program representation that is useful for compiler-based code optimization. In this paper, we address three problems that have arisen in our use of SSA form. Two are improvements to the SSA construction algorithms presented by Cytron et al. 10]. The rst improvement is a version of SSA form that we call \semi-pruned"(More)
We describe two improvements to Chaitin-style graph coloring register allocators. The first, <italic>optimistic coloring</italic>, uses a stronger heuristic to find a <italic>k</italic>-coloring for the interference graph. The second extends Chaitin's treatment of <italic>rematerialization</italic> to handle a larger class of values. These techniques are(More)
The goal of the Grid Application Development Software (GrADS) Project is to provide programming tools and an execution environment to ease program development for the Grid. This paper presents recent extensions to the GrADS software framework: (1) A new approach to scheduling workflow computations, applied to a 3-D image reconstruction application; (2) A(More)
Most modern compilers operate by applying a fixed, program-independent sequence of optimizations to all programs. Compiler writers choose a single "compilation sequence", or perhaps a couple of compilation sequences. In choosing a sequence, they may consider performance of benchmarks or other important codes. These sequences are intended as general-purpose(More)
Advances in networking technologies will soon make it possible to use the global information infrastructure in a qualitatively different way—as a computational as well as an information resource. As described in the recent book " The Grid: Blueprint for a New Computing Infrastructure, " this " Grid " will connect the nation's computers, databases,(More)
In a compiling system that attempts to improve code for a whole program by optimizing across procedures, the compiler can generate better code for a specific procedure if it knows which variables will have constant values, and what those values will be, when the procedure is invoked. This paper presents a general algorithm for determining for each procedure(More)
This paper describes the program execution framework being developed by the Grid Application Development Software (GrADS) Project. The goal of this framework is to provide good resource allocation for Grid applications and to support adaptive reallocation if performance degrades because of changes in the availability of Grid resources. At the heart of this(More)