79 citations found. Retrieving documents...
M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN'88 conference on Programming Language design and Implementation, pages 329--338. ACM Press, 1988.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Validation of Code-Improving Transformations for Embedded.. - van Engelen, Whalley, Yuan   (Correct)

....remain the same. In the subsequent sections of the paper we describe the general approach used for validating intraprocedural (within a single function) low level code improving transformations. An automatic validation system based on the proposed approach has been implemented in the vpo compiler [2] and is currently able to validate all code improving transformations in vpo except those that affect blocks across loop levels. While the implementation is specific to vpo, the general validation approach can also be applied when compiling for embedded systems. 2 Related Work There has been ....

....are equal and conditional control flow. Vpo cannot always determine if the addresses of two memory references are equal. Consider merging the effects for the region in Figure 6(a) where a set and a use may reference the same memory location. The value assigned to r[5] depends on whether r[2] equals r[3] Figure 6(b) shows the merged effect with a guarded expression. All guards in a guarded expression are disjoint. Figures 6(c) and 6(d) show how guards are introduced due to potential aliasing from two sets to memory. An alias between a use followed by a set does not require a ....

[Article contains additional citation context not shown here]

M. E. Benitez and J. W. Davidson. A Portable Global Optimizer and Linker. In Proceedings of the SIGPLAN '88 Symposium on Programming Language Design and Implementation, pages 329--338, June 1988.


Validation of Code-Improving Transformations for Embedded.. - van Engelen, Whalley, Yuan   (Correct)

....will remain the same. In the subsequent sections of the paper we describe the general approach used for validating intraprocedural (within a single function) low level code improving transformations. An automatic validation system based on the approach has been implemented in the vpo compiler [2] and is currently able to validate all code improving transformations in vpo except those that a#ect blocks across loop levels. While the implementation is specific to vpo, the general approach can also be applied when compiling for embedded systems. 2. RELATED WORK There has been much work in ....

....are equal and conditional control flow. Vpo cannot always determine if the addresses of two memory references are equal. Consider merging the e#ects for the region in Figure 6(a) where a set and a use may reference the same memory location. The value assigned to r[5] depends on whether r[2] equals r[3] Figure 6(b) shows the merged e#ect with a guarded expression. All guards in a guarded expression are disjoint. Figures 6(c) and 6(d) show how guards are introduced due to potential aliasing from two sets to memory. An alias between a use followed by a set does not require a ....

[Article contains additional citation context not shown here]

M. E. Benitez and J. W. Davidson. A Portable Global Optimizer and Linker. In Proceedings of the SIGPLAN '88 Symposium on Programming Language Design and Implementation, pages 329--338, June 1988.


Computer Security Analysis through Decompilation and.. - Cifuentes, Waddington (2001)   (1 citation)  (Correct)

....of an executable file (e.g. in a binary translator s frontend) A key technique in a retargetable system is the representation of the semantics of the machine s instructions for analysis purposes. In many cases, a register transfer notation is used, such as that used by the optimizer VPO [2], GNU s gcc suite [23] and the binary translation framework UQBT [8, 7] Our current work on retargetable binary translation [8, 7] has shown that the machine dependent aspects of CISC and RISC machines can be specified in a variety of languages so that an intermediate representation of such ....

M. Benitez and J. Davidson. A portable global optimizer and linker. In Proceedings of the Conference on Programming Languages, Design and Implementation, pages 329-- 338. ACM Press, July 1988.


Effectively Exploiting Indirect Jumps - Uh (1997)   (2 citations)  (Correct)

....transformation that is described in this dissertation. Chapter 9 suggests topics for future research. Finally, Chapter 10 concludes the dissertation. Chapter 2 MODIFICATIONS TO THE COMPILER 2.1 Overview of the Compiler Figure 2. 1 shows the overall structure of the vpo (Very Portable Optimizer [4]) compiler system. The front end of the compiler, cfe [12] produces intermediate code from a given C preprocessed file. The code expander translates the intermediate code into unoptimized lists of machine dependent effects, called RTLs (Register Transfer Lists) RTLs have the form of conventional ....

....in Figure 6.1(a) Figure 6. 1(b) depicts SPARC instructions represented as RTLs that are used to implement a corresponding indirect jump (disregarding the instruction in the delay slot of the indirect jump) 1 Similar 1 These SPARC instructions are generated by the pcc [18] gcc [29] and vpcc [4] compilers. 36 37 instructions are available on most RISC machines. It would appear that at least 5 pairs of conditional branches must be executed to make coalescing branches into an indirect jump operation worthwhile on the SPARC since 8 instructions are used to implement an indirect jump. a) ....

[Article contains additional citation context not shown here]

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 329--338, June 1988.


Using a Swap Instruction to Coalesce Loads and Stores - Qasem, Whalley, Yuan, van..   (Correct)

....example illustrates why the swap instruction should be performed late in the compilation process when the actual loads and stores that will remain in the generated code are known. 5 y = t; if (x y) t = x; x = y; a) Exchange of Values in x and y at the Source Code Level M[y] r[1]; M[x] r[2] PC = IC = 0, L5; IC = r[1] r[2] r[2] M[y] r[1] M[x] r[1] M[x] r[2] M[y] b) Loads are Initially Performed in the Exchange of Values of x and y Common Subexpression Elimination r[1] M[x] r[2] M[y] IC = r[1] r[2] PC = IC = 0, L5; M[x] r[2] ....

....should be performed late in the compilation process when the actual loads and stores that will remain in the generated code are known. 5 y = t; if (x y) t = x; x = y; a) Exchange of Values in x and y at the Source Code Level M[y] r[1] M[x] r[2] PC = IC = 0, L5; IC = r[1] r[2] r[2] M[y] r[1] M[x] r[1] M[x] r[2] M[y] b) Loads are Initially Performed in the Exchange of Values of x and y Common Subexpression Elimination r[1] M[x] r[2] M[y] IC = r[1] r[2] PC = IC = 0, L5; M[x] r[2] M[y] r[1] Exchange of Values Due to (c) ....

[Article contains additional citation context not shown here]

M. E. Benitez and J. W. Davidson, "A Portable Global Optimizer and Linker," Proceedings of the SIGPLAN'88 Symposium on Programming Language Design and Implementation, Atlanta, GA, pp. 329--338, June 1988.


Compiler Modifications To Support Interactive Compilation - Cai (2001)   (2 citations)  (Correct)

....of the compilation process. The UW Illustrated Compiler [1] also known as icomp, has been used in undergraduate compiler classes to illustrate the compilation process. The xvpodb system [6, 7] has been used to illustrate low level code improving transformations in the vpo compiler system [4]. Xvpodb has also been used when teaching compiler classes and to help ease the process of retargeting the compiler to a new machine or diagnosing problems when developing new code improving transformations. Unlike these visualization systems, vista allows a user to interactively control the ....

M. E. Benitez and J. W. Davidson, "A Portable Global Optimizer and Linker," Proceedings of the SIGPLAN'88 Symposium on Programming Language Design and Implementation, Atlanta, GA, pp. 329--338 (June 1988).


Bounding Worst-Case Data Cache Performance - White (1996)   (4 citations)  (Correct)

....needed for large arrays can make overhead for data cache prediction even higher. 1.3 Organization of Dissertation Chapter 2 gives a brief overview of the different stages involved in the bounding of worst case data cache performance. Chapter 3 discusses changes made to the vpo compiler [4] to allow the calculation of relative address information. In Chapter 4 the method of computing virtual addresses is discussed. Chapter 5 describes the method of static cache simulation to categorize the data references in a program. In Chapter 6 the timing analysis algorithm is given along with ....

....a grammatical description of the data information (dnf) file. Chapter 2 Overview of Research Environment There are several stages involved in the approach used for bounding data cache performance of large code segments. Figure 2.1 depicts an overview of these stages. An optimizing compiler [4] has been modified to store information about the control flow, which includes the calling structure of functions, data declarations, and relative address ranges of data references within each function as the side effect of the compilation of each source file. This information is passed to an ....

[Article contains additional citation context not shown here]

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 329--338, June 1988.


Using a Swap Instruction to Coalesce Loads and Stores - Qasem (2001)   (Correct)

....Due to common subexpression elimination, the loads of x and y in the block following the branch have been deleted in Fig. 3.5(c) Thus, the swap instruction cannot be exploited within that block. This example illustrates why the swap instruction should be performed late in the compilation 9 r[1] = M[x] r[2] M[y] IC = r[1] r[2] PC = IC = 0, L5; M[x] r[2] M[y] r[1] Due to Common Subexpression Elimination (c) Loads Are Deleted in the Exchange of Values M[y] r[1] M[x] r[2] PC = IC = 0, L5; IC = r[1] r[2] r[2] M[y] r[1] M[x] y = t; if (x y) ....

....elimination, the loads of x and y in the block following the branch have been deleted in Fig. 3.5(c) Thus, the swap instruction cannot be exploited within that block. This example illustrates why the swap instruction should be performed late in the compilation 9 r[1] M[x] r[2] M[y] IC = r[1] r[2] PC = IC = 0, L5; M[x] r[2] M[y] r[1] Due to Common Subexpression Elimination (c) Loads Are Deleted in the Exchange of Values M[y] r[1] M[x] r[2] PC = IC = 0, L5; IC = r[1] r[2] r[2] M[y] r[1] M[x] y = t; if (x y) t = x; x = y; r[1] M[x] ....

[Article contains additional citation context not shown here]

M. E. Benitez and J. W. Davidson, "A Portable Global Optimizer and Linker," Proceedings of the SIGPLAN'88 Symposium on Programming Language Design and Implementation, Atlanta, GA, pp. 329--338 (June 1988).


Handling Irreducible Loops: Optimized Node Splitting vs.. - Unger, Mueller (2001)   (4 citations)  (Correct)

....global register allocation is performed by prioritized graph coloring in VPO. The priority is based on the loop frequency, which is readily available even for irreducible loops and their nesting within other loops. No modi cation was required to such optimizations. 6 Measurements We chose VPO [3] as a platform to conduct a performance evaluation. VPO only recognizes natural loops with a single header, just as all contemporary optimizing compilers we know of. Irreducible regions of code remain unoptimized. First, we added the recognition of DJ Graphs to VPO, extended code motion, strength ....

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In ACM SIGPLAN Conf. on Programming Language Design and Impl., pages 329{ 338, June 1988.


Automatic Detection and Diagnosis of Faults in Generated.. - Bailey, Davidson (2001)   Self-citation (Davidson)   (Correct)

.... architecture (a DECStation Model 5000 125) These included the native compiler supplied by DEC, two versions of Fraser and Hanson s lcc compiler [15, 16] several versions of GNU s gcc [17] and a previous version of our own C compiler, vpcc vpo, that used a hand coded calling sequence generator [18]. Although we feel that this technique is extremely valuable throughout the compiler development cycle, we believe that it would be fairest to evaluate its effectiveness in finding errors in young implementations of compilers. Where possible, we have used early versions of these compilers. These ....

M. E. Benitez and J. W. Davidson, "A portable global optimizer and linker," in Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pp. 329--338, July 1988.


VISTA: A System for Interactive Code Improvement - Zhao, Cai, Whalley, Bailey..   Self-citation (Davidson)   (Correct)

....used for simple visualization of the compilation process. The UW Illustrated Compiler [1[ also known as icomp, is used in undergraduate compiler classes to illustrate the compilation process. The xvpodb system [6, 7] is used to illustrate low level code transformations in the vpo compiler system [4]. xvpodb is also used when teaching compiler classes and to help ease the process of retargeting the compiler to a new machine or diagnosing problems when developing new code transformations. There are also several systems that provide some visualization support for the high level parallelization ....

M.E. Benitez and J. W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN '88 Symposiun on Programming Lcmguage Design and Implonentation, pages 329-338, June 1988.


VISTA: A System for Interactive Code Improvement - Zhao, Cai, Whalley, Bailey.. (2002)   (2 citations)  Self-citation (Davidson)   (Correct)

....used for simple visualization of the compilation process. The UW Illustrated Compiler [1] also known as icomp, is used in undergraduate compiler classes to illustrate the compilation process. The xvpodb system [6, 7] is used to illustrate low level code transformations in the vpo compiler system [4]. xvpodb is also used when teaching compiler classes and to help ease the process of retargeting the compiler to a new machine or diagnosing problems when developing new code transformations. There are also several systems that provide some visualization support for the high level ....

....data) unsigned char u,l,c; u=32,l=0,c=u 2; for( if(data table[c] u=c; c= l u) 2; else l=c; c= u l) 2; if( u c) 1 (c l) 1) break; return table[c] data c : c 1; a) Source code. binary search: 1 r[1] r[0] 2 r[12] r[1] 16; 4 r[12] LA[L1] 5 r[4]=LA[r[12] 6 r[2] 32; 7 r[3] 0; 8 r[0] 16; 11 r[12] W[r[12] 16) 16; 12 c[0] r[1] r[12] 13 r[2] c[0] 0,r[0] r[2] 14 r[12] c[0] 0,r[3] r[0] r[12] 15 r[3] c[0]0,r[0] r[3] 16 r[12] c[0]0,r[2] r[0] r[12] 17 r[12] r[12] r[12] 31) 20 r[12] r[2] r[0] 21 c[0] r[12] 1; 22 ....

[Article contains additional citation context not shown here]

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN '88 Symposium on Programming Language Design and Implementation, pages 329--338, June 1988.


Methods for Saving and Restoring Register Values across.. - Davidson, Whalley (1991)   (5 citations)  Self-citation (Davidson)   (Correct)

No context found.

M. E. Benitez and J. W. Davidson, `A portable global optimizer and linker', Proceedings of the SIGPLAN Notices '88 Symposium on Programming Language Design and Implementation, Atlanta, GA, June 1988, p. 329--338.


Performance Driven Optimization Tuning In Vista - Kulkarni (2003)   (Correct)

No context found.

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN'88 conference on Programming Language design and Implementation, pages 329--338. ACM Press, 1988.


Bounding Loop Iterations for Timing Analysis - Healy, Sjödin, Rustagi, Whalley (1998)   (22 citations)  (Correct)

No context found.

M. E. Benitez and J. W. Davidson, "A Portable Global Optimizer and Linker," Proceedings of the SIGPLAN '88 Symposium on Programming Language Design and Implementation, pp. 329-338 (June 1988).


Performance Driven Optimization Tuning In Vista - Kulkarni   (Correct)

No context found.

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN'88 conference on Programming Language design and Implementation, pages 329--338. ACM Press, 1988.


FAST: Frequency-Aware Static Timing Analysis - Kiran Seth Aravindh   (Correct)

No context found.

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 329--338, June 1988.


Annotations for Portable Intermediate Languages - Reig (2001)   (6 citations)  (Correct)

No context found.

Manuel E. Benitez and Jack W. Davidson. A portable global optimizer and linker. In Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation (PLDI), pages 329--338, Atlanta, Georgia, 22--24 June 1988. SIGPLAN Notices 23(7), July 1988.


a Retargetable Static Binary Translation Framework - Cifuentes, Van Emmerik.. (2002)   (Correct)

No context found.

M.E. Benitez and J.W. Davidson. A portable global optimizer and linker. In Proceedings of the Conference on Programming Languages, Design and Implementation, pages 329--338. ACM Press, July 1988.


Integration of Static Runtime Analysis and Program Compilation - Kirner (2000)   (Correct)

No context found.

M. E. Benitez and J. W. Davidson. A Portable Global Optimizer and Linker. In Proceedings of the SIGPLAN'88 Symposium of Programming Language Design and Implementation, pages 329--338, June 1988.


Efficient Analysis of Temporal Properties for Real-Time Systems - .. - Müller (2000)   (Correct)

No context found.

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 329-338, June 1988.


CSDL: Reusable Computing System Descriptions for Retargetable.. - Bailey   (Correct)

No context found.

Manuel E. Benitez and Jack W. Davidson. A portable global optimizer and linker. In Proceedings of the SIGPLAN Conference on Programming Language Design and Implementation, pages 329--338, July 1988.


Coalescing Conditional Branches into Efficient Indirect Jumps - Uh, Whalley (1997)   (1 citation)  (Correct)

No context found.

M.E. Benitez and J.W. Davidson. A portable global optimizer and linker. In pages 329--338, June 1988.


Preliminary Experiences with the Use of the UQBT.. - Cifuentes, Van.. (1999)   (6 citations)  (Correct)

No context found.

M.E. Benitez and J.W. Davidson. A portable global op- timizer and linker. In Proceedings of the Conference on Programming Languages, Design and Implementation, pages 329 338. ACM Press, July 1988.


Automatic Generation Of Data-Flow Analyzers: A Tool For Building.. - Tjiang (1993)   (5 citations)  (Correct)

No context found.

M. E. Benitez and J. W. Davidson. A portable global optimizer and linker. In SIGPLAN Conference on Programming Language Design and Implementation, 1988.

First 50 documents  Next 50

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