Displaying 9 results from an estimated 9 matches for "findavailableloadedvalue".
2015 Apr 03
3
[LLVMdev] why are volatile memory accesses ordered?
...d i32, i32* %b, align 4
  %lv = load volatile i32, i32* %b
  %a1 = load i32, i32* %a, align 4
  %result = add i32 %a0, %a1
  ret i32 %result
}
to "%result = %a0 << 1" via -O3.
NB: changing the volatile load to a volatile store triggers the
optimization (via -instcombine) -- llvm::FindAvailableLoadedValue just
skips over noalias ordered stores.
-- Sanjoy
2015 Apr 03
2
[LLVMdev] why are volatile memory accesses ordered?
...32* %a, align 4
>>
>>   %result = add i32 %a0, %a1
>>   ret i32 %result
>> }
>>
>> to "%result = %a0 << 1" via -O3.
>>
>> NB: changing the volatile load to a volatile store triggers the
>> optimization (via -instcombine) -- llvm::FindAvailableLoadedValue just
>> skips over noalias ordered stores.
>>
>> -- Sanjoy
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>...
2016 Dec 09
2
RFC: Adding argument allocas
...t;
I don't feel like it complicates our model that much, though. Passes
already have to know that uninitialized allocas contain undef, and with
this change they can contain a value. That doesn't seem very surprising. It
is a fair point that we'd have to add new cases to code
like llvm::FindAvailableLoadedValue, which looks for StoreInst but not
AllocaInst.
> A couple of other thoughts I had:
> 1. We could use metadata, e.g. "%px = alloca i32, align 4 !argument !i32
> %x", followed by a store.  There's still a little pattern-matching involved
> because the metadata is only a hi...
2017 Jan 18
10
llvm is getting slower, January edition
...s available below, but I think it might be much harder to comprehend the data without the graph. A number in the end shows compile time change after the given commit:
1. r239821: [InstSimplify] Allow folding of fdiv X, X with just NaNs ignored. +1%
2. r241886: [InstCombine] Employ AliasAnalysis in FindAvailableLoadedValue. +1%
3. r245118: [SCEV] Apply NSW and NUW flags via poison value analysis for sub, mul and shl. +2%
4. r246694: [RemoveDuplicatePHINodes] Start over after removing a PHI. -1%
5. r247269: [ADT] Rewrite the StringRef::find implementation to be simpler... +1%
   r247240: [LPM] Use a map from analysis...
2017 Jan 18
2
llvm is getting slower, January edition
...hink it might be much harder to comprehend the data without the graph. A number in the end shows compile time change after the given commit:
>>
>> 1. r239821: [InstSimplify] Allow folding of fdiv X, X with just NaNs ignored. +1%
>> 2. r241886: [InstCombine] Employ AliasAnalysis in FindAvailableLoadedValue. +1%
>> 3. r245118: [SCEV] Apply NSW and NUW flags via poison value analysis for sub, mul and shl. +2%
>> 4. r246694: [RemoveDuplicatePHINodes] Start over after removing a PHI. -1%
>> 5. r247269: [ADT] Rewrite the StringRef::find implementation to be simpler... +1%
>>    r24...
2017 Jan 20
2
llvm is getting slower, January edition
...arder
> to comprehend the data without the graph. A number in the end shows compile
> time change after the given commit:
> >
> > 1. r239821: [InstSimplify] Allow folding of fdiv X, X with just NaNs
> ignored. +1%
> > 2. r241886: [InstCombine] Employ AliasAnalysis in
> FindAvailableLoadedValue. +1%
> > 3. r245118: [SCEV] Apply NSW and NUW flags via poison value analysis for
> sub, mul and shl. +2%
> > 4. r246694: [RemoveDuplicatePHINodes] Start over after removing a PHI.
> -1%
> > 5. r247269: [ADT] Rewrite the StringRef::find implementation to be
> simpler... +...
2016 Dec 09
6
RFC: Adding argument allocas
On Thu, Dec 8, 2016 at 5:37 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
> So IIUC basically the *only* reason for this IR change is that we don’t
> want to pattern match in debug build?
> I don't understand right now why we wouldn’t want to do this?
>
If we need to pattern match such a basic construct, it suggests to me that
we have the wrong representation, and we
2017 Apr 14
5
Saving Compile Time in InstCombine
I’m taking a first look at InstCombine performance. I picked up the caching patch and ran a few experiments on one of our larger C++ apps. The size of the *.0.2.internalize.bc no-debug IR is ~ 30M. Here are my observations so far.
Interestingly, caching produced a slight but measurable performance degradation of -O3 compile time.
InstCombine takes about 35% of total execution time, of which ~20%
2016 Dec 10
0
llvm-dev Digest, Vol 150, Issue 37
...> > Passes
> > > already have to know that uninitialized allocas contain undef, and
> > > with this change they can contain a value. That doesn't seem very
> > > surprising. It is a fair point that we'd have to add new cases to
> > > code like llvm::FindAvailableLoadedValue, which looks for StoreInst
> > > but not AllocaInst.
> >
> > It's more that that... I mean, obviously you have to fix all the
> > places which assume allocas start off containing undef, but you're
> > also introducing the potential for missed optimizations b...