We present a compiler algorithm called Bit Value, which can discover both unused and constant bits in dusty-deck C programs. Bit-Value uses forward and backward dataflow analyses, generalizing constant-folding and dead-code detection at the bit-level. This algorithm enables compiler optimizations which target special processor architectures for computing on non-standard bitwidths. Using this algorithm we show that up to 31% of the computed bytes are thrown away (for programs from SpecINT95 and Mediabench). A compiler for reconfigurable hardware uses this algorithm to achieve substantial reductions (up to 20-fold) in the size of the synthesized circuits
: This tutorial considers the design of modern machine-independent optimising compilers for classica...
This dissertation is about verifying the correctness of low-level computer programs.This is challeng...
When a computational task tolerates a relaxation of its specification or when an algorithm tolerates...
We present a compiler algorithm called BitValue, which can discover unused and constant bits in dust...
Many important applications perform computations on non-standard bit-width values; mapping them to ...
There is an increasing trend toward compiling from C to custom hardware for designing embedded syste...
In this paper we study the impact of compiler optimizations on the error sensitivity of twelve bench...
Bitwise operations are commonly used in low-level systems code to access multiple data fields that h...
It has been widely known that a significant part of the bits are useless or even unused during the p...
In order to implement efficiently in software block ciphers, advanced bitslicing techniques (such as...
Many reverse engineering techniques for data structures rely on the knowledge of memory allocation r...
DARPA’s AACE project aimed to develop Architecture Aware Compiler Environments. Such a compiler auto...
High-level synthesis provides an easy-to-use abstraction for designing hardware circuits. However, s...
The hardware as well as software communities have recently experienced a shift towards mitigating bi...
This article investigates several source-to-source C compilers for extracting pre-execution thread c...
: This tutorial considers the design of modern machine-independent optimising compilers for classica...
This dissertation is about verifying the correctness of low-level computer programs.This is challeng...
When a computational task tolerates a relaxation of its specification or when an algorithm tolerates...
We present a compiler algorithm called BitValue, which can discover unused and constant bits in dust...
Many important applications perform computations on non-standard bit-width values; mapping them to ...
There is an increasing trend toward compiling from C to custom hardware for designing embedded syste...
In this paper we study the impact of compiler optimizations on the error sensitivity of twelve bench...
Bitwise operations are commonly used in low-level systems code to access multiple data fields that h...
It has been widely known that a significant part of the bits are useless or even unused during the p...
In order to implement efficiently in software block ciphers, advanced bitslicing techniques (such as...
Many reverse engineering techniques for data structures rely on the knowledge of memory allocation r...
DARPA’s AACE project aimed to develop Architecture Aware Compiler Environments. Such a compiler auto...
High-level synthesis provides an easy-to-use abstraction for designing hardware circuits. However, s...
The hardware as well as software communities have recently experienced a shift towards mitigating bi...
This article investigates several source-to-source C compilers for extracting pre-execution thread c...
: This tutorial considers the design of modern machine-independent optimising compilers for classica...
This dissertation is about verifying the correctness of low-level computer programs.This is challeng...
When a computational task tolerates a relaxation of its specification or when an algorithm tolerates...