[PATCH] Global Structure Vectorization

Hal Finkel hfinkel at anl.gov
Wed Feb 20 09:41:19 PST 2013


----- Original Message -----
> From: "Renato Golin" <renato.golin at linaro.org>
> To: "LLVM Commits" <llvm-commits at cs.uiuc.edu>
> Cc: "Arnold Schwaighofer" <aschwaighofer at apple.com>, "Nadav Rotem" <nrotem at apple.com>, "Hal Finkel" <hfinkel at anl.gov>
> Sent: Wednesday, February 20, 2013 6:48:22 AM
> Subject: [PATCH] Global Structure Vectorization
> 
> 
> 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.

Just to be clear, depending on the usage pattern, this gained somewhere in between 1% and 15%; nevertheless, I agree that this kind of optimization can be saved until after things have settled.

 -Hal

> 
> 
> 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



More information about the llvm-commits mailing list