Displaying 3 results from an estimated 3 matches for "i32ptr".
Did you mean:
u32ptr
2018 Sep 11
2
Byte-wide stores aren't coalesced if interspersed with other stores
...ch
> > might address this indirectly. But I'm somewhat doubtful that that's
> > the most straightforward way to optimize this kind of code?
>
> That doesn't help, but it turns out that //reviews.llvm.org/D30703 can
> kinda somwhat help by adding a redundant
> %i32ptr = bitcast i8* %0 to i32*
> store i32 0, i32* %i32ptr
>
> at the start. Then dse-partial-store-merging does its magic and
> optimizes the sub-stores away. But it's fairly ugly to manually have to
> add superflous stores in the right granularity (a larger llvm.memset
> doesn&...
2018 Sep 10
2
Byte-wide stores aren't coalesced if interspersed with other stores
Hi,
I have, in postres, a piece of IR that, after inlining and constant
propagation boils (when cooked on really high heat) down to (also
attached for your convenience):
source_filename = "pg"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"
define void @evalexpr_0_0(i8* align 8 noalias, i32* align 8 noalias) {
2018 Sep 11
2
Byte-wide stores aren't coalesced if interspersed with other stores
...'m somewhat doubtful that that's
> > > > the most straightforward way to optimize this kind of code?
> > >
> > > That doesn't help, but it turns out that //reviews.llvm.org/D30703 can
> > > kinda somwhat help by adding a redundant
> > > %i32ptr = bitcast i8* %0 to i32*
> > > store i32 0, i32* %i32ptr
> > >
> > > at the start. Then dse-partial-store-merging does its magic and
> > > optimizes the sub-stores away. But it's fairly ugly to manually have
> to
> > > add superflous stores in...