[PATCH] Global Structure Vectorization

Renato Golin renato.golin at linaro.org
Wed Feb 20 04:48:22 PST 2013


Hi folks,

I haven't changed the patch much since last review for two reasons:

1. Using DenseMap<vector> would over-complicate the code, at least for this
first introduction. Since Hal only found 1% of improvement with that
change, I think we can leave it for later, when the code is more stable.

2. I haven't merged <GEP, UndObj, Store/Load> into one container or
structure because it'd again over-complicate the code and it's possible
that it'll change as we progress in the alias analysis side of things. I'd
rather leave that change for a time when we're sure it won't change much.

What I have changed:

1. Accounting for unroll factor, as Arnold suggested, for the access width.

2. Changed from WriteObjects from [!count(*UI)] to [find(*UI) == end()],
because we don't need to know how many (thus find all occurrences), just to
know that there isn't any (find any occurrence).

3. Added some more comments and TODOs to make it clear that this is work in
progress.

Shall we consider this the first step (of many) towards global structure
vectorization?

cheers,
--renato
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130220/4378e1d0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: global_vectorize.patch
Type: application/octet-stream
Size: 27422 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130220/4378e1d0/attachment.obj>


More information about the llvm-commits mailing list