[llvm-dev] Disable combining of loads and stores in instcombine

JF Bastien via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 17 10:10:59 PDT 2019



> On Apr 17, 2019, at 10:06 AM, Neil Ryan <neilryan at cs.washington.edu> wrote:
> 
> 
>> Why do you want this?
> 
> 
> The goal is to share arrays between multiple tiles on a manycore architecture by splitting arrays between tiles. With a DRF memory model, it makes sense to elide multiple loads to the same memory location between barriers.; IIRC the semantics for volatile don’t allow this eliding.

If there hasn’t been synchronization between to loads, then yes it makes sense to elide loads in a DRF memory model.
Indeed volatile loads cannot be elided.
But why is it desirable to avoid combining adjacent stores? If you’ve got DRF code then the combination can’t be observed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190417/b5d0ccb3/attachment.html>


More information about the llvm-dev mailing list