[PATCH] Add a pass to transform aggregate loads and stores into scalar loads and stores.

Chandler Carruth chandlerc at google.com
Tue Mar 3 20:04:49 PST 2015

On Tue, Mar 3, 2015 at 9:24 AM, Philip Reames <listmail at philipreames.com>

> In http://reviews.llvm.org/D7780#133316, @chandlerc wrote:
> > My primary question is why this isn't just an instcombine, using
> insertvalue / extractvalue to reconnect the aggregates?
> @chandlerc - Because we talked about that last time and it was rejected
> for some reason I don't really remember.  I would strongly prefer we land
> this in something close to it's current form and then iterate in tree.
> This has topic has been stalled on census for months.  Honestly, I sorta of
> agree with you, but let's revisit that separately.

Absolutely not. I do *not* think we should add a pass if there are multiple
people who don't think it belongs as a pass.

If we keep losing the context of why this needs to be a pass, then we need
to fix that problem rather than just "iterate in tree" to hide the problem.
It won't get fixed otherwise, we'll just end up with bad code in the tree.

Ok, so what I recall about this is that the problem was that these were not
single-instruction replacements because there was the desire to not
introduce insertvalue / extractvalue? Am I on the right path or not?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150303/2182fd13/attachment.html>

More information about the llvm-commits mailing list