| 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. |
....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.
....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.
....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.
....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.
....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.
....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).
....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.
....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).
....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.
.... 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.
....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.
....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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
No context found.
M.E. Benitez and J.W. Davidson. A portable global optimizer and linker. In pages 329--338, June 1988.
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.
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