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 work was supported by DARPA contract DABT63-96-C-0083 and an NSF CAREER grant.