| Chris Lattner and Vikram Adve. Automatic pool allocation for disjoint data structures. In Workshop on Memory System Performance (MSP), 2002. |
No context found.
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
No context found.
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
No context found.
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
No context found.
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
No context found.
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
No context found.
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM Workshop on Memory System Performance, Berlin, Jun 2002.
No context found.
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
No context found.
Chris Lattner and Vikram Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, June 2002.
....for program optimization, safety checking, and debugging tools. An example of such a technique is automatic pool allocation, which transforms an ordinary C program with dynamic allocation so as to segregate disjoint instances of logical data structures into separate memory pools within the heap [15]. This transformation has a number of interesting applications, including static checking of heap safety for a large class of type safe C programs [6] Such transformations require a powerful memory analysis capable of identifying disjoint logical data structures, building a static representation ....
....flowand context sensitive and uses access paths represented by regular expressions, instead of k limiting, to represent recursive structures e#ciently. His algorithm appears to have higher complexity and seems much more expensive in practice. In our earlier work on the automatic pool allocation [15] we presented a preliminary algorithm similar to, but much weaker than, Data Structure Analysis. That algorithm only used a bottom up traversal, was exponential in the worst case, and much more expensive in common cases. The lack of a top down pass made it produce many more incomplete results.We ....
[Article contains additional citation context not shown here]
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
....performed. The Low Level Virtual Machine (LLVM) 10] is an implementation of the architecture and intermediate representation [11] described in this paper, which allows us to be more concrete when describing aspects of the design. This system has served as the host for several research projects [7, 13, 12] which require whole program information as well as a host for a variety of traditional compiler optimizations. We hope that the lessons learned by the LLVM project will be useful to the GCC community, and are willing to contribute as much code to the GNU project as there is interest in. We are ....
....that the representation maintain a strong (but languageneutral) type system, which captures information about pointer, structure, and array accesses in the program. Working with the LLVM system we find that this type information allows for a variety of high level analyses and transformations [7, 13, 12] while the nature of the low level representation makes it very easy to manipulate. Another advantage of type information is that it makes detecting and understanding bugs in transformations much easier. The goal of the program representation is to enable as many di#erent types of optimizations ....
[Article contains additional citation context not shown here]
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
....that global or local variables of aggregate types do not contain pointers, unless it can be statically proved that these pointers never point to the heap using the data structure graph. The LLVM link time compiler provides alias information through a representation called the data structure graph [14], which provides pointsto information connecting all disjoint memory objects (including heap, stack, globals and functions) as well as SSA pointer variables. It is computed using a fast, flow insensitive, context sensitive analysis. This representation directly helps identify pointer variables ....
C. Lattner and V. Adve. Automatic Pool Allocation for Disjoint Data Structures. In Proc. ACM SIGPLAN Workshop on Memory System Performance, Berlin, Germany, Jun 2002.
No context found.
Chris Lattner and Vikram Adve. Automatic pool allocation for disjoint data structures. In Workshop on Memory System Performance (MSP), 2002.
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