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

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