[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...
More information about the llvm-dev