Unreachable Code

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 579 Experts worldwide ranked by ideXlab platform

Henk Vandecasteele - One of the best experts on this subject based on the ideXlab platform.

  • fast query evaluation with lazy control flow compilation
    International Conference on Logic Programming, 2004
    Co-Authors: Remko Troncon, Gerda Janssens, Henk Vandecasteele
    Abstract:

    Learning algorithms such as decision tree learners dynamically generate a huge amount of large queries. Because these queries are executed often, the trade-off between meta-calling and compiling & running them has been in favor of the latter, as compiled Code is faster. This paper presents a technique named control flow compilation, which improves the compilation time of the queries by an order of magnitude without reducing the performance of executing the queries. We exploit the technique further by using it in a just-in-time manner. This improves performance in two ways: it opens the way to incremental compilation of the generated queries, and also gives potentially large gains by never compiling dynamically Unreachable Code. Both the implementation of (lazy) control flow compilation and its experimental evaluation in a real world application are reported on.

Remko Troncon - One of the best experts on this subject based on the ideXlab platform.

  • fast query evaluation with lazy control flow compilation
    International Conference on Logic Programming, 2004
    Co-Authors: Remko Troncon, Gerda Janssens, Henk Vandecasteele
    Abstract:

    Learning algorithms such as decision tree learners dynamically generate a huge amount of large queries. Because these queries are executed often, the trade-off between meta-calling and compiling & running them has been in favor of the latter, as compiled Code is faster. This paper presents a technique named control flow compilation, which improves the compilation time of the queries by an order of magnitude without reducing the performance of executing the queries. We exploit the technique further by using it in a just-in-time manner. This improves performance in two ways: it opens the way to incremental compilation of the generated queries, and also gives potentially large gains by never compiling dynamically Unreachable Code. Both the implementation of (lazy) control flow compilation and its experimental evaluation in a real world application are reported on.

Keith D. Cooper - One of the best experts on this subject based on the ideXlab platform.

  • Combining Analyses, Combining Optimizations
    1995
    Co-Authors: Cliff Click, Keith D. Cooper
    Abstract:

    This paper presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the framework provides insight into when a combination yields better results. To make the ideas more concrete, this paper presents a framework for combining constant propagation, value numbering, and Unreachable Code elimination. It is an open question as to what other frameworks can be combined in this way. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors --- compilers, optimization Additional Keywords and Phrases: data-flow analysis, optimizing compilers, constant propagation, value numbering 1 Introduction Modern optimizing compilers make several passes over a program's intermediate representation to generate good Code. Many of these optimizations exhibit a phase ordering problem. Di#erent facts are discovered (and di#erent Code generated) depending on the order in which the optimizations are executed. Getting the best Code requires iterating several optimizations until a fixed point is reached. We will show that by combining optimization passes the compiler discovers more facts about the program, giving more opportunities for optimization. Thishasbeenshowninanad hoc way in previous work --- for example Wegman and Zadeck presented an algorithm to combine constant propagation and Unreachable Code elimination [10]. This paper provides a more formal basis for describing combinations and shows when and why these combinations yield better results. We present a proof that the simple iterative technique e#ciently solves these combined optimizations. Finally, we combine Conditional Constant Propagation (CCP) and Global Value Numbering (GVN) to get an optimiza..

  • Combining Analyses, Combining Optimizations
    1995
    Co-Authors: Cliff Click, Keith D. Cooper
    Abstract:

    This paper presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the framework provides insight into when a combination yields better results. To make the ideas more concrete, this paper presents a framework for combining constant propagation, value numbering, and Unreachable Code elimination. It is an open question as to what other frameworks can be combined in this way. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors --- compilers, optimization Additional Keywords and Phrases: data-flow analysis, optimizing compilers, constant propagation, value numbering 1 Introductio

  • Combining analyses, combining optimizations
    ACM Transactions on Programming Languages and Systems, 1995
    Co-Authors: Cliff Click, Keith D. Cooper
    Abstract:

    Modern optimizing compilers use several passes over a program's intermediate representation to generate good Code. Many of these optimizations exhibit a phase-ordering problem. Getting the best Code may require iterating optimizations until a fixed point is reached. Combining these phases can lead to the discovery of more facts about the program, exposing more opportunities for optimization. This article presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the frame work provides insight into when a combination yields better results. To make the ideas more concrete, this article presents a framework for combining constant propagation, value numbering, and Unreachable-Code elimination. It is an open question as to what other frameworks can be combined in this way.

Gerda Janssens - One of the best experts on this subject based on the ideXlab platform.

  • fast query evaluation with lazy control flow compilation
    International Conference on Logic Programming, 2004
    Co-Authors: Remko Troncon, Gerda Janssens, Henk Vandecasteele
    Abstract:

    Learning algorithms such as decision tree learners dynamically generate a huge amount of large queries. Because these queries are executed often, the trade-off between meta-calling and compiling & running them has been in favor of the latter, as compiled Code is faster. This paper presents a technique named control flow compilation, which improves the compilation time of the queries by an order of magnitude without reducing the performance of executing the queries. We exploit the technique further by using it in a just-in-time manner. This improves performance in two ways: it opens the way to incremental compilation of the generated queries, and also gives potentially large gains by never compiling dynamically Unreachable Code. Both the implementation of (lazy) control flow compilation and its experimental evaluation in a real world application are reported on.

Cliff Click - One of the best experts on this subject based on the ideXlab platform.

  • Combining Analyses, Combining Optimizations
    1995
    Co-Authors: Cliff Click, Keith D. Cooper
    Abstract:

    This paper presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the framework provides insight into when a combination yields better results. To make the ideas more concrete, this paper presents a framework for combining constant propagation, value numbering, and Unreachable Code elimination. It is an open question as to what other frameworks can be combined in this way. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors --- compilers, optimization Additional Keywords and Phrases: data-flow analysis, optimizing compilers, constant propagation, value numbering 1 Introduction Modern optimizing compilers make several passes over a program's intermediate representation to generate good Code. Many of these optimizations exhibit a phase ordering problem. Di#erent facts are discovered (and di#erent Code generated) depending on the order in which the optimizations are executed. Getting the best Code requires iterating several optimizations until a fixed point is reached. We will show that by combining optimization passes the compiler discovers more facts about the program, giving more opportunities for optimization. Thishasbeenshowninanad hoc way in previous work --- for example Wegman and Zadeck presented an algorithm to combine constant propagation and Unreachable Code elimination [10]. This paper provides a more formal basis for describing combinations and shows when and why these combinations yield better results. We present a proof that the simple iterative technique e#ciently solves these combined optimizations. Finally, we combine Conditional Constant Propagation (CCP) and Global Value Numbering (GVN) to get an optimiza..

  • Combining Analyses, Combining Optimizations
    1995
    Co-Authors: Cliff Click, Keith D. Cooper
    Abstract:

    This paper presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the framework provides insight into when a combination yields better results. To make the ideas more concrete, this paper presents a framework for combining constant propagation, value numbering, and Unreachable Code elimination. It is an open question as to what other frameworks can be combined in this way. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors --- compilers, optimization Additional Keywords and Phrases: data-flow analysis, optimizing compilers, constant propagation, value numbering 1 Introductio

  • Combining analyses, combining optimizations
    ACM Transactions on Programming Languages and Systems, 1995
    Co-Authors: Cliff Click, Keith D. Cooper
    Abstract:

    Modern optimizing compilers use several passes over a program's intermediate representation to generate good Code. Many of these optimizations exhibit a phase-ordering problem. Getting the best Code may require iterating optimizations until a fixed point is reached. Combining these phases can lead to the discovery of more facts about the program, exposing more opportunities for optimization. This article presents a framework for describing optimizations. It shows how to combine two such frameworks and how to reason about the properties of the resulting framework. The structure of the frame work provides insight into when a combination yields better results. To make the ideas more concrete, this article presents a framework for combining constant propagation, value numbering, and Unreachable-Code elimination. It is an open question as to what other frameworks can be combined in this way.