A few colleagues of mine implemented an inter-procedural range analysis algorithm for LLVM 2.7 a few years back.
Their paper (see http://homepages.dcc.ufmg.br/~fernando/publications/papers/SBLP12_victor.pdf) states a 13-14% reduction in variable size
for the SPEC CPU2006 benchmarks and 36% for the Stanford benchmarks.
Check out Google Code Archive - Long-term storage for Google Code Project Hosting. if you’re interested and feel free to email me if you have any questions.
H.