search for: loopstrengthreduct

Displaying 20 results from an estimated 22 matches for "loopstrengthreduct".

Did you mean: loopstrengthreduce
2013 Jan 15
2
[LLVMdev] Patch for Transform/LoopStrengthReduction/post-inc-icmpzero.ll test-failure
Hi, Transform/LoopStrengthReduction/post-inc-icmpzero.ll was failing for clang-native-arm-cortex-a9 build-bot configuration. The reason for the failure was the test was using hardcoded names. The attached patch fixes this failure by replacing the hard-coded variables names with pattern-matched variable names. I have checked that...
2013 Jan 15
0
[LLVMdev] Patch for Transform/LoopStrengthReduction/post-inc-icmpzero.ll test-failure
Hi Manish, Thanks for the patch, I'll check and commit. cheers, --renato PS: Patches are normally sent to llvm-commit list, unless they require a lot of discussion. On 15 January 2013 14:52, Manish Verma <manish.avtaar at gmail.com> wrote: > Hi, > > Transform/LoopStrengthReduction/post-inc-icmpzero.ll was failing for > clang-native-arm-cortex-a9 build-bot configuration. The reason for the > failure was the test was using hardcoded names. The attached patch fixes > this failure by replacing the hard-coded variables names with > pattern-matched variable names. &...
2013 Jan 15
1
[LLVMdev] Patch for Transform/LoopStrengthReduction/post-inc-icmpzero.ll test-failure
...check and commit. > > cheers, > --renato > > PS: Patches are normally sent to llvm-commit list, unless they require a > lot of discussion. > > > On 15 January 2013 14:52, Manish Verma <manish.avtaar at gmail.com> wrote: > >> Hi, >> >> Transform/LoopStrengthReduction/post-inc-icmpzero.ll was failing for >> clang-native-arm-cortex-a9 build-bot configuration. The reason for the >> failure was the test was using hardcoded names. The attached patch fixes >> this failure by replacing the hard-coded variables names with >> pattern-matched v...
2018 Apr 09
1
SCEV and LoopStrengthReduction Formulae
> From: fglaser at apple.com <fglaser at apple.com> On Behalf Of escha at apple.com > Sent: Saturday, April 7, 2018 8:22 AM > >> I realize this is a micro-op saving a single cycle.  But this reduces the instruction count, one less >> instr to decode in a potentially hot path. If this all makes sense, and seems like a reasonable addition >> to llvm, would it make
2018 Apr 07
0
SCEV and LoopStrengthReduction Formulae
> > I realize this is a micro-op saving a single cycle. But this reduces the instruction count, one less > instr to decode in a potentially hot path. If this all makes sense, and seems like a reasonable addition > to llvm, would it make sense to implement this as a supplemental LSR formula, or as a separate pass? This seems reasonable to me so long as rbx has no other uses that
2018 Apr 04
0
SCEV and LoopStrengthReduction Formulae
...Is there any more limitation why these two or not fused? > -----Original Message----- > From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of via llvm- > dev > Sent: Wednesday, April 4, 2018 3:30 AM > To: llvm-dev at lists.llvm.org > Subject: [llvm-dev] 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...
2017 Sep 05
2
Where to find the list of passes run by clang/opt with -O3
Hi, I am trying to locate the passes run by clang/opt when it is passed the option -O3. Can someone point me where to look at? Eventually, I want to turn off just the LoopStrengthReduction pass in the -O3 set of default passes. Thanks, Best Regards, Nitish -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170905/e2827daf/attachment.html>
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
2012 Feb 13
1
[LLVMdev] Vectorization: Next Steps
...target libraries? They could be linked directly, although I > > don't know if we want to do that. tablegen could extract a bunch of this > > information into separate objects that get linked into opt. > > The best model we have at the moment is TargetLoweringInfo, as used by LoopStrengthReduction. The details of this interface aren't a great example to follow for a few reasons (i.e. it has selectiondag specific stuff in it, which is a layering violation) but the idea is sound. This does mean that running "opt -vectorize foo.bc" would not get the same optimization as runni...
2019 Apr 15
2
Loop Strength Reduction Pass Does Not Work for Some Varialbles Related to Induction Variables
Dear all, Hi! Recently, I try to combine the passes SeparateConstOffsetFromGEP and LoopStrengthReduction to transform the multiplication in the lowered GEP IRs into addition. However, it seems LoopStrengthReduction is unable to remove all the multiplications for the element offset calculation. My test code is shown below and thanks a lot in advance for your time and suggestion! ------------...
2020 Jun 10
2
LoopStrengthReduction generates false code
...ng? > > -Eli > >> -----Original Message----- >> From: Boris Boesler <baembel at gmx.de> >> Sent: Tuesday, June 9, 2020 11:59 AM >> To: Eli Friedman <efriedma at quicinc.com> >> Cc: llvm-dev at lists.llvm.org >> Subject: [EXT] Re: [llvm-dev] LoopStrengthReduction generates false code >> >> Hm, no. I expect byte addresses - everywhere. The compiler should not know >> that the arch needs word addresses. During lowering LOAD and STORE get >> explicit conversion operations for the memory address. Even if my arch was >> byte add...
2020 Jun 09
2
LoopStrengthReduction generates false code
...ting. > > -Eli > >> -----Original Message----- >> From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Boris Boesler >> via llvm-dev >> Sent: Tuesday, June 9, 2020 1:17 AM >> To: llvm-dev at lists.llvm.org >> Subject: [EXT] [llvm-dev] LoopStrengthReduction generates false code >> >> Hi. >> >> In my backend I get false code after using StrengthLoopReduction. In the >> generated code the loop index variable is multiplied by 8 (correct, everything >> is 64 bit aligned) to get an address offset, and the index vari...
2017 Sep 05
2
Where to find the list of passes run by clang/opt with -O3
...p 5, 2017 at 8:16 AM, Nitish Srivastava via llvm-dev <llvm-dev at lists.llvm.org> wrote: >> >> Hi, >> >> I am trying to locate the passes run by clang/opt when it is passed the option -O3. Can someone point me where to look at? Eventually, I want to turn off just the LoopStrengthReduction pass in the -O3 set of default passes. >> Also, the easiest hack to turn off LSR is that of probably just commenting out the line that adds the pass in PassManagerBuilder.cpp. If you use `opt` + the new pass manager there's a flag for testing to specify a custom pipeline, but that wil...
2020 Jun 09
2
LoopStrengthReduction generates false code
Hi. In my backend I get false code after using StrengthLoopReduction. In the generated code the loop index variable is multiplied by 8 (correct, everything is 64 bit aligned) to get an address offset, and the index variable is incremented by 1*8, which is not correct. It should be incremented by 1 only. The factor 8 appears again. I compared the debug output
2012 Feb 09
0
[LLVMdev] Vectorization: Next Steps
...and the > backend target libraries? They could be linked directly, although I > don't know if we want to do that. tablegen could extract a bunch of this > information into separate objects that get linked into opt. The best model we have at the moment is TargetLoweringInfo, as used by LoopStrengthReduction. The details of this interface aren't a great example to follow for a few reasons (i.e. it has selectiondag specific stuff in it, which is a layering violation) but the idea is sound. This does mean that running "opt -vectorize foo.bc" would not get the same optimization as runni...
2012 Feb 07
4
[LLVMdev] Vectorization: Next Steps
On Mon, 2012-02-06 at 14:26 -0800, Chris Lattner wrote: > On Feb 2, 2012, at 7:56 PM, Hal Finkel wrote: > > As some of you may know, I committed my basic-block autovectorization > > pass a few days ago. I encourage anyone interested to try it out (pass > > -vectorize to opt or -mllvm -vectorize to clang) and provide feedback. > > Especially in combination with
2011 Jan 20
1
[LLVMdev] SelectionDAG, loops
Hi, I am trying to rewrite loop addressing to suit my target. I wonder if there is a simple way to find out if the current SelectionDAG is a loop-body? I tried to rewrite LLVM code to do address arithmetic, ie %nextaddr = add i16* %curraddr, 4, but I could not find a way to make this work. thanks, Jonas -------------- next part -------------- An HTML attachment was scrubbed...
2019 Apr 15
2
Loop Strength Reduction Pass Does Not Work for Some Varialbles Related to Induction Variables
...ations in the assembly code. However, I am focus on the the IR optimization and the calculation of the array element offest, which may need multiplication if the IR instruction GEP is lowered to arithmetic operations. The multiplication operations should be able to be removed by using the LLVM Pass LoopStrengthReduction. Interestingly, it does not work for the test code. I wamt to post the IR code but it might be too long to be in the mail. Thanks again for your time and precious suggestions! Best regards, ------------------------------------------ Tingyuan LIANG MPhil Student Department of Electronic...
2019 Jul 17
3
Loop Opt WG Meeting Minutes for July 17, 2019
Hi all, Apparently some people had trouble joining today. I also had trouble using the attendee ID provided by webex. I've canceled the meeting series and will be scheduling a new one with an updated link. Please remember to update your calendars with the new invite. My apologies to those who couldn't join today, and to everyone for the churn. Today's Meeting Minutes:
2008 Jul 23
0
[LLVMdev] LICM/store-aliasing of global loads
...ndencies when building the graph, or by teaching DAGCombiner.cpp how to use AliasAnalysis information to optimize the dependencies. The options I mentioned above take the latter approach, though they probably have room for improvement. One other factor here is that some of the transformations that LoopStrengthReduction and CodeGenPrepare do lower getelementptrs to ptrtoint+arithmetic+inttoptr, and this interferes with BasicAliasAnalysis. There's been some discussion of this on llvmdev, but I don't have a link handy. > This can be pretty important on architectures like Cell SPU. I agree that it'...