13 citations found. Retrieving documents...
K. D. Cooper and J. Lu. Register promotion in C programs. In Proceedings of the ACM SIGPLAN'97 Conference on Programming Language Design and Implementation, pages 308-319, 15-18 June. SIGPLAN Notices 32(5), May 1997.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Pointer Analysis: Haven't We Solved This Problem Yet? - Hind (2001)   (26 citations)  (Correct)

....of granularity and tries to determine the (named) objects held in a pointer. The type inference literature, although certainly worth exploring, is beyond the scope of this paper. The third approach dynamically measures how pointer information a ects a runtime property, such as program performance [14, 105, 20, 30, 12, 31], dynamic points to relations [20, 62] or a dynamic characterization of the client analysis [20, 30, 12, 31] Such metrics are limited to a single execution of the program, and thus, represent a lower bound on their static counterparts. Because all metrics have their strengths and weaknesses a ....

....a scalable analysis that provides context sensitivity ow sensitivity some degree of these properties Amer Diwan adds, It is easy to make a pointer analysis that is very fast and scales to large programs. But are the results worth anything While more people have done work in the area [14, 30, 20, 40, 41], we still need a better understanding of what pointer analysis one should use. 4.2 Improving Precision How can we improve the precision of an analysis without sacri cing scalability Bill Landi and Manuvir Das provide some interesting ideas for loosening the soundness safety constraint on ....

K. D. Cooper and J. Lu. Register promotion in C programs. In Proceedings of the ACM SIGPLAN'97 Conference on Programming Language Design and Implementation, pages 308-319, 15-18 June. SIGPLAN Notices 32(5), May 1997.


A Software Framework for Supporting General Purpose.. - Frank, Lee, Amarasinghe (2001)   (3 citations)  (Correct)

....is to introduce additional private variables that will hold the old value of the object while the new value is computed and forwarded to the other, waiting, workers. Register promotion is similar to performing common subexpression or partial redundancy elimination on load and store instructions [13, 35, 8]. This reduces the number of requests that need to be sent from the worker nodes and processed by the memory nodes. The final optimization is scope restriction, which allows privatization of structure objects that can not be fully analyzed by the privatization pass. Scope restriction takes ....

K. D. Cooper and J. Lu. Register Promotion in C Programs. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, pages 308--319, Las Vegas, NV, June 1997.


Using Types to Analyze and Optimize Object-Oriented Programs - McKINLEY, MOSS (2001)   (6 citations)  (Correct)

....elimination [Aho et al. 1986] but applies them to loads instead of computation. We expect RLE to be a profitable optimization, since loads are expensive on modern machines and architects expect they will only get more expensive [Hennessy and Patterson 1995] Similar to register promotion [Cooper and Lu 1997], RLE hoists a memory reference out of a loop if it is loop invariant and is executed on every iteration of the loop, leaving it up to the back end to place the hoisted memory reference in a register. For example in Figure 6, the access path a.b is redundant on all paths, and loop invariant code ....

.... Ryder 1991; 1992; Larus and Hilfinger 1988; Shapiro and Horwitz 1997b; Steensgaard 1996; Weihl 1980] A few researchers recently have used dynamic evaluation such as measuring the execution time improvement due to an optimization that uses alias analysis [Hummel et al. 1994; Wilson and Lam 1995; Cooper and Lu 1997; Ghiya and Hendren 1998; Shapiro and Horwitz 1997a] Static, dynamic, and limit evaluation have the following strengths and weaknesses. Static Evaluation. Static properties, such as the size of the may alias sets, enable comparisons between the precision of two similar analyses. Static ....

[Article contains additional citation context not shown here]

COOPER, K. AND LU, J. 1997. Register promotion in C programs. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. Las Vegas, Nevada, 308--319.


Partial Redundancy Elimination for Access Path.. - Hosking, Nystrom.. (2001)   (4 citations)  (Correct)

.... optimizations that take advantage of knowledge of the data flow impact on precise exceptions, as well as to establish a lower bound for PRE style optimizations in which precise exception semantics are not enforced (with the loose results) Several recent papers have focused on register promotion [57 59]: the identification of program regions in which memory allocated values can be cached in registers. These techniques also address the issue of eliminating redundant loads and stores by selectively promoting values from memory into registers. Our approach differs in that we perform analysis and ....

Cooper K, Lu J. Register promotion in C programs. Proceedings of the ACM Conference on Programming Language Design and Implementation, Las Vegas, Nevada, June 1997. ACM SIGPLAN Notices 1997; 32(5):308--319.


Register Promotion by Sparse Partial Redundancy.. - Lo, Chow, Kennedy.. (1998)   (19 citations)  (Correct)

....register attribute in the C programming language, together with local variables determined by the compiler to have no alias, can be directly represented as pseudo registers. All remaining register allocation candidates have to be assigned pseudo registers through the process of register promotion [CL97] Register promotion identifies sections of code in which it is safe to place the value of a data object in a pseudo register. Register promotion is regarded as an optimization because instructions generated to access a data object in register are more efficient than if it is not in a register. ....

....if a candidate is assigned to a real register. In optimizing the placement of loads and stores, they use a simplified and symbolic version of PRE that makes use of the fact that the blocks that make up each live range must be contiguous. Cooper and Lu use an approach that is entirely loopbased [CL97] By scanning the contents of the blocks comprising each loop, they identify candidates that can be safely promoted to register in the full extent of the loop. The load to a pseudo register is generated at the entry to the outermost loop where the candidate is promotable. The store, if needed, is ....

K. Cooper and J. Lu. Register promotion in C programs. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, pages 308--319, June 1997.


Using Types to Analyze and Optimize Object-Oriented Programs - Diwan, McKinley, Moss (2001)   (6 citations)  (Correct)

....Analyze and Optimize Object Oriented Programs 9 Step 1: T S1 S2 S3 T S1 S2 S3 T S1 S2 S3 Step 2: After statement 2 Step 2: After statement 1 Fig. 5. Selective Merging for Figure 4 expect they will only get more expensive [Hennessy and Patterson 1995] Similar to register promotion [Cooper and Lu 1997], RLE hoists a memory reference out of a loop if it is loop invariant and is executed on every iteration of the loop, leaving it up to the back end to place the hoisted memory reference in a register. For example in Figure 6, the access path a.b is redundant on all paths, and loop invariant code ....

....1996; Weihl 1980] uses only static properties, such as the size of the may alias and pointsto sets. A few researchers recently have used dynamic evaluation such as measuring the execution time improvement due to an optimization that uses alias analysis [Hummel et al. 1994; Wilson and Lam 1995; Cooper and Lu 1997; Ghiya and Hendren 1998; Shapiro and Horwitz 1997a] Static, dynamic, and limit evaluation have the following strengths and weaknesses: Static Evaluation. Static properties, such as the size of the may alias sets, enable comparisons between the precision of two similar analyses. Static ....

[Article contains additional citation context not shown here]

COOPER, K. AND LU, J. 1997. Register promotion in C programs. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. Las Vegas, Nevada.


A SUIF Interface to Alias Analysis Results - Heine, Diwan (1997)   (1 citation)  (Correct)

....This Research was supported in part by the Air Force Materiel Command and ARPA contract F30602 95 C 0098. ABSTRACT: While prior work has proposed a number of algorithms for computing aliases in C programs [5] 6] 7] there has been relatively little evaluation of these algorithms[1]. This paper proposes an interface that gives standard dataflow analysis and visualization clients access to may alias and must alias results produced by multiple alias analysis implementations. The clients can use this abstract interface without knowing about the implementation or ....

Cooper, Keith and John Lu, "Register Promotion in C Programs," in Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, pp. 308-319, June 1997.


The Swift Java Compiler: Design and Implementation - Scales, Randall, Ghemawat, Dean (2000)   (14 citations)  (Correct)

....of fields or array elements. When preceded by the store resolution phase that makes alias information available by relaxing memory dependences, global CSE automatically accomplishes the removal of redundant loads, which frequently requires a separate pass in other intermediate representations. [14]. Swift currently does global CSE (and global code motion) once during the machine independent processing, after all interprocedural optimizations. This CSE pass eliminates redundant expressions that are in the original method or that are exposed by interprocedural optimizations, and can greatly ....

K. D. Cooper and J. Lu. Register Promotion in C Programs. In ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, pages 308--319, June 1997.


Using Types to Analyze and Optimize Object-Oriented Programs - Diwan, McKinley, Moss (2001)   (6 citations)  (Correct)

....In this section, we describe a sample optimization, redundant load elimination (rle) that uses tbaa. We will later use rle to evaluate tbaa. In Section 3.4 we describe another analysis that benefits from tbaa. rle combines variants of loop invariant code motion (similar to register promotion [Cooper and Lu 1997]) and common subexpression elimination [Aho et al. Table III. TypeRefsTable for Figure 3 Type TypeRefsTable (Type) T T, S1, S2 S1 S1 S2 S2 S3 S3 8 Delta Amer Diwan et al. T S1 S2 S3 T S2 S1 S3 S3 T S1 S2 (a) Initialized sets in Group (b) Sets after statement 1 (c) Sets after ....

....alias analysis using only static properties, such as the sizes of the may alias and points to sets. A few researchers recently have used dynamic evaluation such as measuring the executiontime improvement due to an optimization that uses alias analysis [Hummel et al. 1994; Wilson and Lam 1995; Cooper and Lu 1997; Ghiya and Hendren 1998; Shapiro and Horwitz 1997a] The majority of previous work on method invocation resolution has evaluated the analyses using dynamic and static evaluation [Agesen 1995; Burke et al. 1995; Bacon and Sweeney 1996; Calder and Grunwald 1994; Carini et al. 1995; Dean et al. ....

[Article contains additional citation context not shown here]

Cooper, K. and Lu, J. 1997. Register promotion in c programs. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation. Las Vegas, Nevada.


Modular Interprocedural Pointer Analysis Using Access Paths.. - Cheng, Hwu (2000)   (32 citations)  (Correct)

....Steensgaard s algorithm has almost linear complexity [13] when aggregate elds are considered, the complexity becomes exponential [15] E ectiveness study. Most earlier algorithms are evaluated by resource consumptions, pointer resolutions, and statistics of improved optimization opportunities [16, 17, 18, 19]. The work by Wilson and Lam in [5] uses pointer analysis results to guide loop parallelizations for one SPEC benchmark, whereas the work by Diwan et al. 19] uses type based alias analysis to guide redundant load elimination and loopinvariant load migration for a set of Modula 3 programs. Cooper ....

....work by Wilson and Lam in [5] uses pointer analysis results to guide loop parallelizations for one SPEC benchmark, whereas the work by Diwan et al. 19] uses type based alias analysis to guide redundant load elimination and loopinvariant load migration for a set of Modula 3 programs. Cooper and Lu [17] study the e ect of register promotion for variables in the presence of pointers, but indirect accesses to heap objects and elds of aggregates are not handled. In this paper, interprocedural pointer analysis results are used to guide much more aggressive memory access optimizations including ....

[Article contains additional citation context not shown here]

K. D. Cooper and J. Lu, \Register promotion in c programs, " in Proceedings of the ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation, pp. 308-319, June 1997.


Optimistic Register Coalescing - Park, Moon (1998)   (3 citations)  (Correct)

....single register if they do not interfere. On the interference graph, this is achieved by coalescing the two nodes into a single node, with their interference edges being unioned. Since many optimization phases before register allocation, including instruction scheduling [4] store tocopy promotion [5], and static single assignment (SSA) translation [6] leave behind many copies that would slow down program execution, it is essential to minimize these copies. Coalescing, on the other hand, may affect the colorability of the interference graph. Since a coalesced node will have the union of ....

K. D. Cooper and J. Lu. Register promotion in C programs. In Proceedings of the ACM PLDI '97, pages 308--319, June 1997.


Optimizing Memory Accesses Using Advanced Compile-Time Memory.. - Ni Qu Es   (Correct)

....which can handle all C features and SPEC class benchmarks. Instead of generating de 7 pendent relations directly, our analysis greatly improves the classification of independent relations first, then we use copy propagation to derive more dependent relations. Static optimizations Cooper and Lu [19] examined the register promotion problem in C programs. Their technique can handle the promotion of scalar variables, which is less sensitive to the availability of memory disambiguation information. Their results showed the reduction in memory traffic and instruction count, but the performance ....

K. D. Cooper and J. Lu, "Register promotion in c programs," in Proceedings of the ACM SIGPLAN 1997 Conference on Programming Language Design and Implementation, pp. 308--319, June 1997.


Type-Based Alias Analysis - Diwan, McKinley, Moss (1998)   (44 citations)  (Correct)

....pointers. A static analysis that compares the resulting number of optimization opportunities remedies some of this problem. Dynamic Evaluation. A few researchers recently evaluated alias analyses by measuring the execution time improvement due to an optimization that uses alias analysis [19, 36, 8, 17]. Using run time improvements complements static metrics, since run time improvements directly measure the impact of the alias analysis on its clients (usually compiler optimizations) However, one of their disadvantages is that the results are specific to the given program inputs. Limit ....

....1 1 . a.b [j] a.b [j] a.b . t[i] t : a.b Figure 7: Eliminating Redundant Memory Loads little or no room for improvement in TBAA. 3.4. 1 Redundant Load Elimination Redundant load elimination (RLE) combines variants of loop invariant code motion (similar to register promotion [8]) and common subexpression elimination [1] which most optimizing compilers perform. RLE differs from classic loop invariant code motion and common subexpression elimination in that it eliminates redundant loads instead of redundant computation. We expect RLE to be a profitable optimization since ....

[Article contains additional citation context not shown here]

Keith Cooper and John Lu. Register promotion in c programs. In Proceedings of the ACM SIGPLAN '97 Conference on Programming Language Design and Implementation, Las Vegas, Nevada, June 1997.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC