[llvm-dev] Byte-wide stores aren't coalesced if interspersed with other stores

Nirav Davé via llvm-dev llvm-dev at lists.llvm.org
Tue Sep 11 13:55:27 PDT 2018


Hmm, we have memory operations to the same location are not getting the
same addressing metadata associated with them, similar to
bugs.llvm.org/pr38241. Presumably there's a pass that's dropping that
information on the floor.

-NIrav


On Tue, Sep 11, 2018 at 3:14 PM, Andres Freund <andres at anarazel.de> wrote:

> Hi,
>
> On 2018-09-11 15:06:10 -0400, Nirav Davé wrote:
> > Hmm. This looks like the backend conservatively giving up early on
> > merging.
>
> > It looks like you're running clang 5.02. There have been some
> improvements
> > to the backend's memory aliasing and store merging that have landed
> since.
> > Can you check if this is fixed in a newer version?
>
> It's trunk at r341868.  The clang version numbers come in from postgres'
> JIT infrastructure inlining SQL operators/functions, which are just
> taken from postgres' C code.  I probably shouldn't have mixed versions
> in this installation, but it shouldn't affect the result, as that's only
> for the available_externally functions.  The rest of the IR is generated
> by directly emitting IR via IRBuilder.
>
> - Andres
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180911/d2f3ccdf/attachment-0001.html>


More information about the llvm-dev mailing list