We apply the notion of design patterns to optimizations performed by designers of software libraries, focusing especially on object-oriented numerical libraries. We formalize three design patterns that we have abstracted from many existing libraries and discuss the role of these formalizations as a tool for guiding compiler optimizers. These optimizers operate at a very high level that would otherwise be left unoptimized by traditional optimizers. Finally, we discuss the implementation of a design pattern-based compiler optimizer for C++ abstract data types
We describe COLIN, a Common Optimization Library INterface for C++. COLIN provides C++ template cla...
This paper describes the design and implementation of an optimizing compiler that automatically gene...
Operations on data can be classified as either queries or updates. Modern object-oriented program-mi...
Abstract. This paper describes how the use of software libraries, which is prevalent in high perform...
This paper describes how the use of software libraries, which is prevalent in high performance comp...
This book explores break-through approaches to tackling and mitigating the well-known problems of co...
Design patterns are a library of reusable components designed for software architecture, not for con...
Software design patterns describe proven solu-tions to recurring software design problems. Knowl-edg...
The front end of a compiler is generally responsible for creating an intermediate representation of ...
International audienceIncreasingly complex hardware makes the design of effective compilers difficul...
Capturing a wealth of experience about the design of object-oriented software, four top-notch design...
Design patterns capture the essentials of recurring best practice in an abstract form. Their merits ...
The design of a hardware data path library is one of the harder problems in design for reuse. Due to...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
Class-specific optimizations are compiler optimizations specified by the class implementor to the co...
We describe COLIN, a Common Optimization Library INterface for C++. COLIN provides C++ template cla...
This paper describes the design and implementation of an optimizing compiler that automatically gene...
Operations on data can be classified as either queries or updates. Modern object-oriented program-mi...
Abstract. This paper describes how the use of software libraries, which is prevalent in high perform...
This paper describes how the use of software libraries, which is prevalent in high performance comp...
This book explores break-through approaches to tackling and mitigating the well-known problems of co...
Design patterns are a library of reusable components designed for software architecture, not for con...
Software design patterns describe proven solu-tions to recurring software design problems. Knowl-edg...
The front end of a compiler is generally responsible for creating an intermediate representation of ...
International audienceIncreasingly complex hardware makes the design of effective compilers difficul...
Capturing a wealth of experience about the design of object-oriented software, four top-notch design...
Design patterns capture the essentials of recurring best practice in an abstract form. Their merits ...
The design of a hardware data path library is one of the harder problems in design for reuse. Due to...
Abstract. Optimizing compilers have a long history of applying loop transformations to C and Fortran...
Class-specific optimizations are compiler optimizations specified by the class implementor to the co...
We describe COLIN, a Common Optimization Library INterface for C++. COLIN provides C++ template cla...
This paper describes the design and implementation of an optimizing compiler that automatically gene...
Operations on data can be classified as either queries or updates. Modern object-oriented program-mi...