[llvm-commits] [llvm] r89959 - in /llvm/trunk: include/llvm/Analysis/ValueTracking.h lib/Analysis/ValueTracking.cpp test/Analysis/BasicAA/gep-alias.ll

Chris Lattner sabre at nondot.org
Thu Nov 26 12:11:31 PST 2009


On Nov 26, 2009, at 11:27 AM, Duncan Sands wrote:

> Hi Chris,
> 
>> +  /// The scaled symbolic offsets (represented by pairs of a Value* and a scale
>> +  /// in the VarIndices vector) are Value*'s that are known to be scaled by the
>> +  /// specified amount, but which may have other unrepresented high bits. As
>> +  /// such, the gep cannot necessarily be reconstructed from its decomposed
>> +  /// form.
> 
> it looks like there is no control on how many bits are "unrepresented high
> bits".  For example, if you had an extension from i1 somewhere, presumably
> all bits except the first may contain some rubbish values.  If you now do
> a test like "is this value bigger than 4", how can you answer?

This code only cares about scales and offsets.  Because of this, an i1 won't have a scale.  It doesn't matter of it is 0 or 1. :)

-Chris



More information about the llvm-commits mailing list