[LLVMdev] Making GEP into vector illegal?
Chris Lattner
clattner at apple.com
Tue Oct 14 12:08:38 PDT 2008
On Oct 14, 2008, at 11:02 AM, Duncan Sands wrote:
> Hi Mon Ping,
>
>> I would like to make it illegal to GEP into a vector as I think it is
>> cleaner and more consistent. Opinions? Comments?
>
> now that arrays are first class types, I think vectors should become
> a subclass of ArrayType. This would get rid of a lot of duplicated
> code, and also fix a bunch of problems with vectors (eg: that sizes
> are wrong; currently we think that a <n x i1> has length n bits, and
> that a vector <n x x86_fp80> has length 80*n bits, both of which are
> untenable).
I'm happy about factoring the code better, but a vectortype isn't an
arraytype (isa<ArrayType>(V) should be false). Maybe a common base
class (like sequential type) would be better?
> From this point of view you have to allow GEP into a
> vector; the conclusion I suppose is that codegen needs to replace
> GEP+load or GEP+store with an extract or insert operation.
With that logic, there is no difference at all between an array and
vector... I disagree very strongly about this.
-Chris
More information about the llvm-dev
mailing list