Add a pass to convert aggregate loads/stores into scalar load stores
Hal Finkel
hfinkel at anl.gov
Tue Oct 28 06:55:48 PDT 2014
Chandler,
Can you please look at this? How do you think we should canonicalize this (is this the right approach)?
-Hal
----- Original Message -----
> From: "deadal nix" <deadalnix at gmail.com>
> To: "llvm-commits" <llvm-commits at cs.uiuc.edu>
> Sent: Monday, October 27, 2014 8:22:16 PM
> Subject: Re: Add a pass to convert aggregate loads/stores into scalar load stores
>
>
>
> ping ping ping ?
>
>
>
> 2014-10-20 13:09 GMT-07:00 deadal nix < deadalnix at gmail.com > :
>
>
>
>
> Hi again,
>
> Please consider this. I'd be happy to fix various problem you may
> find, please give me some feedback.
>
>
>
> 2014-10-10 20:45 GMT-07:00 deadal nix < deadalnix at gmail.com > :
>
>
>
>
>
> Hi all, I'd really like to have feedback on that one.
>
>
>
> 2014-10-05 20:09 GMT-07:00 deadal nix < deadalnix at gmail.com > :
>
>
>
>
>
>
>
>
> As per title. Aggregate load and stores (granted they aren't
> unordered) are decomposed in a suite of scalar loads and stores and
> bit manipulation are used to reconstruct/deconstruct the aggregate
> using insertvalue/extractvalue.
>
> I wasn't sure where to add the pass so I added it fairly early. It
> may not be the idea place, I'll let you expert tell me. It seems
> need that this run before SROA and any pass that manipulate memory
> as this would defeat the point entirely.
>
>
> It do not need to run more than once as, as far as I know, no pass
> introduce aggregate load/store ever. So once the ones generated by
> the frontend are gone, the job is finished.
>
>
> This pass does nothing on non aggregate load/store (except going
> thourgh the instruction to check they are none), so I don't expect
> this to impact frontend that don't use them in any major way.
>
> I think this is a major step forward for LLVM usability from a front
> perspective.
>
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Add-a-pass-to-transform-aggregate-loads-and-stores-i.patch
Type: text/x-patch
Size: 27445 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141028/6bbe49b5/attachment.bin>
More information about the llvm-commits
mailing list