[llvm-commits] Updated pointer-vector patch
Hal Finkel
hfinkel at anl.gov
Tue Nov 29 14:47:53 PST 2011
On Tue, 2011-11-29 at 14:31 -0800, Nick Lewycky wrote:
> On 29 November 2011 01:37, Duncan Sands <baldrick at free.fr> wrote:
> Hi Nick,
>
> > To elaborate, the comment was that the only pointer types we
> should
> > allow are those which would let us load the vector and
> produce a legal
> > vector type.
>
>
> presumably i8** would be a valid vector element type. This
> means that
> vector GEP may need more than one index.
>
>
> No, only single-pointers for now but if there's a use case for them
> they can be added. It means that someone who wants to use gather
> operations to pointer-chase through multiple linked list nodes in
> parallel will need to use a inttoptr between each load. Somehow I'm
> okay with that. :)
As I've discussed with Nadav, I feel that these multi-index vector GEPs
should be supported for completeness, and scalarized, just like we do
with other vector instructions without target support. Specifically,
this means adding code to SelectionDAGBuilder::visitGetElementPtr that
is similar to the code in SelectionDAG::UnrollVectorOp (or suitably
extending UnrollVectorOp and then calling it from visitGetElementPtr). I
am planning to do the work for this addition once the basic
pointer-vector infrastructure is in place.
-Hal
>
>
> Nick
>
>
> Ciao, Duncan.
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
--
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits
mailing list