Displaying 7 results from an estimated 7 matches for "neilryan".
2019 Apr 17
5
Disable combining of loads and stores in instcombine
...olatile stores, and C / C++ certainly allow us to do so. I don’t think it would be a good idea to do so, but we certainly could.
> -Matt
>
> From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of llvm-dev <llvm-dev at lists.llvm.org>
> Reply-To: Neil Ryan <neilryan at cs.washington.edu>
> Date: Tuesday, April 16, 2019 at 9:01 PM
> To: llvm-dev <llvm-dev at lists.llvm.org>
> Subject: [llvm-dev] Disable combining of loads and stores in instcombine
>
> LLVM's optimizer combines stores to consecutive characters into a write of a sin...
2019 Apr 18
2
Disable combining of loads and stores in instcombine
...u can decompose the load/store however you like in the backend. InstCombine should still combine the loads as a canonicalization.
>
> -Matt
>
> From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of llvm-dev <llvm-dev at lists.llvm.org>
> Reply-To: Neil Ryan <neilryan at cs.washington.edu>
> Date: Wednesday, April 17, 2019 at 9:28 PM
> To: llvm-dev <llvm-dev at lists.llvm.org>, "tstellar at redhat.com" <tstellar at redhat.com>
> Subject: Re: [llvm-dev] Disable combining of loads and stores in instcombine
>
> I’m writing a...
2019 Apr 17
2
Disable combining of loads and stores in instcombine
...good idea to do so, but we certainly could.
> > >
> > >
> > > > -Matt
> > > >
> > > > From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of llvm-dev <llvm-dev at lists.llvm.org>
> > > > Reply-To: Neil Ryan <neilryan at cs.washington.edu>
> > > > Date: Tuesday, April 16, 2019 at 9:01 PM
> > > > To: llvm-dev <llvm-dev at lists.llvm.org>
> > > > Subject: [llvm-dev] Disable combining of loads and stores in instcombine
> > > >
> > > > LLVM's...
2019 Apr 16
4
Disable combining of loads and stores in instcombine
LLVM's optimizer combines stores to consecutive characters into a write of a single word. For instance, if I have char A[4] and I write some static value to each element, these writes would be combined into a single 32-bit word write. I found this thread from 2009 -- it seems like it wasn't possible then. Has anything changed since?
Neil
-------------- next part --------------
An HTML
2019 Apr 17
3
Disable combining of loads and stores in instcombine
I’m writing a pass for some custom hardware — we’d like to split arrays across hardware elements; this doesn’t work if consecutive writes to characters get combined to a word.
On Apr 16, 2019, 8:17 PM -0700, Tom Stellard <tstellar at redhat.com>, wrote:
> On 04/16/2019 11:38 AM, Neil Ryan via llvm-dev wrote:
> > LLVM's optimizer combines stores to consecutive characters into a
2019 Apr 17
2
Disable combining of loads and stores in instcombine
> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2019 Apr 17
1
Disable combining of loads and stores in instcombine
> But why is it desirable to avoid combining adjacent stores? If you’ve got DRF code then the combination can’t be observed.
It’s more that the consecutive stores would be going to different tiles. If multiple stores are combined in IR, I don’t think they’d be able to decoupled in IR, unless there’s a way to always determine which global object an arbitrary GEP is pointing to.
--------------