similar to: [LLVMdev] Landing my new development on the trunk ...

Displaying 20 results from an estimated 8000 matches similar to: "[LLVMdev] Landing my new development on the trunk ..."

2010 Oct 29
0
[LLVMdev] Landing my new development on the trunk ...
On Fri, Oct 29, 2010 at 11:18 AM, Brian West <bnwest at rice.edu> wrote: > Eli Friedman <eli.friedman <at> gmail.com> writes: >> >> > I did not mention in the original email (and should have) that OSR >> >> > needs >> >> > -instcombine to be run after it for cleanup. Also -licm, >> >> > -reassociate, -gvn >>
2010 Oct 29
3
[LLVMdev] Landing my new development on the trunk ...
On 10/29/10 1:26 PM, Eli Friedman wrote: > Sure, but you know which induction variables you created; you can just > zap the unused ones at the end of the pass, no? This is feasible. We would have to collect more information during OSR proper pass and add logic to cleanup at the end. >> FWIW I noticed that other optimizations (as seen in StandardPasses.h) are >> followed by
2010 Oct 29
0
[LLVMdev] Landing my new development on the trunk ...
On Oct 29, 2010, at 12:20 PM, Brian West wrote: > On 10/29/10 1:26 PM, Eli Friedman wrote: >> Sure, but you know which induction variables you created; you can just >> zap the unused ones at the end of the pass, no? > This is feasible. We would have to collect more information during OSR > proper pass and add logic to cleanup at the end. > >>> FWIW I noticed
2010 Oct 28
1
[LLVMdev] Landing my new development on the trunk ...
Eli Friedman <eli.friedman <at> gmail.com> writes: > > Empirically the OSR optimization is compile-time faster than LSR. I have > > also noticed that OSR has more "analysis" requirements: Induction Variable > > User, Natural Loop Information, Canonicalize natural loops, and Scalar > > Evolution Analysis. Both OSR and LSR require the Dominator Tree
2010 Oct 28
0
[LLVMdev] Landing my new development on the trunk ...
On Thu, Oct 28, 2010 at 9:38 AM, Brian West <bnwest at rice.edu> wrote: >> 3. LLVM already has a significant amount of infrastructure for loop >> passes; why does this pass have its own code for finding loops? > > I saw the loop infrastructure for CFG loops. This algorithm finds loops in > the data flow (more precisely: strongly-connected components in the >
2010 Oct 28
3
[LLVMdev] Landing my new development on the trunk ...
On 10/27/10 8:34 PM, Eli Friedman wrote: > On Wed, Oct 27, 2010 at 1:29 PM, Brian West<bnwest at rice.edu> wrote: >> Here is the patch for the new Operator Strength Reduction optimization >> pass that I have written. The bulk of the code is in >> >> lib/Transforms/Scalar/OperatorStrengthReduce.cpp >> >> The algorithm finds reduction opportunities in
2010 Nov 15
0
[LLVMdev] Landing my new development on the trunk ...
On 11/13/10 11:05 PM, Daniel Berlin wrote: > > A big downside of the current LSR algorithm is it's slow. I had > initially > hoped that some of the heuristics would protect it better, but the > problem is > more complex than I had expected. I haven't done any measurements, > but it's likely that OSR is faster, which may interest some
2010 Nov 14
2
[LLVMdev] Landing my new development on the trunk ...
> > A big downside of the current LSR algorithm is it's slow. I had initially > hoped that some of the heuristics would protect it better, but the problem > is > more complex than I had expected. I haven't done any measurements, > but it's likely that OSR is faster, which may interest some people > regardless > of how the output compares. > A few years
2010 Oct 27
2
[LLVMdev] Landing my new development on the trunk ...
Here is the patch for the new Operator Strength Reduction optimization pass that I have written. The bulk of the code is in lib/Transforms/Scalar/OperatorStrengthReduce.cpp The optimization is based on the algorithm described within the paper that can be found here: http://portal.acm.org/citation.cfm?id=504709.504710 Keith D. Cooper , L. Taylor Simpson , Christopher A. Vick, Operator strength
2010 Oct 28
0
[LLVMdev] Landing my new development on the trunk ...
On Wed, Oct 27, 2010 at 1:29 PM, Brian West <bnwest at rice.edu> wrote: > Here is the patch for the new Operator Strength Reduction optimization > pass that I have written.  The bulk of the code is in > > lib/Transforms/Scalar/OperatorStrengthReduce.cpp > > The algorithm finds reduction opportunities in both array accesses and > explicit multiplications within loops.
2010 Nov 11
0
[LLVMdev] Landing my new development on the trunk ...
Evan Cheng <evan.cheng <at> apple.com> writes: > Eli is right. We do need to see some benchmark numbers and understand how the pass will fit in the target > independent optimizer. While we encourage contribution, we typically don't commit new passes unless it > introduce new functionalities that have active clients. It would also help if you provide us with compile
2010 Nov 16
1
[LLVMdev] Landing my new development on the trunk ...
On Mon, Nov 15, 2010 at 10:38 AM, Brian West <bnwest at rice.edu> wrote: > On 11/13/10 11:05 PM, Daniel Berlin wrote: > > A big downside of the current LSR algorithm is it's slow. I had >> initially >> hoped that some of the heuristics would protect it better, but the problem >> is >> more complex than I had expected. I haven't done any
2015 Jul 01
2
[LLVMdev] Deriving undefined behavior from nsw/inbounds/poison for scalar evolution
----- Original Message ----- > From: "Bjarke Roune" <broune at google.com> > To: "Hal Finkel" <hfinkel at anl.gov> > Cc: llvmdev at cs.uiuc.edu, "Jingyue Wu" <jingyue at google.com> > Sent: Wednesday, July 1, 2015 2:27:59 PM > Subject: Re: [LLVMdev] Deriving undefined behavior from nsw/inbounds/poison for scalar evolution > >
2019 Aug 09
4
How to best deal with undesirable Induction Variable Simplification?
Hi Hal, I see. So LSR could theoretically counteract undesirable Ind Var transformations but it's not implemented at the moment? I think I've managed to come up with a small reproducer that can also exhibit similar problem on x86, here it is: https://godbolt.org/z/_wxzut As you can see, when rewriteLoopExitValues is not disabled Clang generates worse code due to additional spills,
2015 Aug 17
4
RFC for a design change in LoopStrengthReduce / ScalarEvolution
> I don't understand why you want to factor out the information, > exactly. It seems like what you need is a function like: > > unsigned getMinLeadingZeros(const SCEV *); > > then, if you want to get the non-extended expression, you can just > apply an appropriate truncation. I assume, however, that I'm missing > something. The problem is not about how to codegen
2015 Sep 14
4
[RFC] New pass: LoopExitValues
On Fri, Sep 11, 2015 at 10:06 AM, Hal Finkel <hfinkel at anl.gov> wrote: > Also, if these redundant expressions involve induction variables, then that's something that the IndVarSimplify is already supposed to do, and if it is missing cases, then we should improve that pass (and, thus, folding what you've done into IndVarSimplify might be the right way to go). Hal, thanks for the
2015 Sep 23
2
[RFC] New pass: LoopExitValues
On Mon, Sep 21, 2015 at 11:13 AM, Wei Mi <wmi at google.com> wrote: > Maybe it can follow the "Delete dead loops" pass which is after > Induction Variable Simplification pass, so it will not affect existing > exitvalue rewriting optimization in Induction Variable Simplification > to find out and delete dead loops? > > Existing pass pipeline: >
2019 Aug 13
2
How to best deal with undesirable Induction Variable Simplification?
I've noticed that there was an attempt to mitigate ExitValues problem in https://reviews.llvm.org/D12494 that went nowhere. Were there particular issues with that approach? -- Danila From: Philip Reames [mailto:listmail at philipreames.com] Sent: Saturday, August 10, 2019 02:05 To: Danila Malyutin <Danila.Malyutin at synopsys.com>; Finkel, Hal J. <hfinkel at anl.gov> Cc: llvm-dev
2015 Jul 01
3
[LLVMdev] Deriving undefined behavior from nsw/inbounds/poison for scalar evolution
----- Original Message ----- > From: "Bjarke Roune" <broune at google.com> > To: "Jingyue Wu" <jingyue at google.com> > Cc: llvmdev at cs.uiuc.edu > Sent: Tuesday, June 30, 2015 8:16:13 PM > Subject: Re: [LLVMdev] Deriving undefined behavior from nsw/inbounds/poison for scalar evolution > > Hi Adam, > > Jingyue is right. We need to keep
2018 Apr 03
4
SCEV and LoopStrengthReduction Formulae
I am attempting to implement a minor loop strength reduction optimization for targets that support compare and jump fusion, specifically TTI::canMacroFuseCmp(). My approach might be wrong; however, I am soliciting the idea for feedback, so that I can implement this correctly. My plan is to add a Supplemental LSR formula to LoopStrengthReduce.cpp that optimizes the following case, but perhaps