search for: loopfusion

Displaying 20 results from an estimated 28 matches for "loopfusion".

2006 Nov 07
3
[LLVMdev] PassManager
...r will manage the LoopInfo. It will maintain loop priority queue and expose APIs to add/remove loops that transformations can use. > For > example, some algorithms make internal decisions about which loops to > handle together and also what order to visit them. For example, the > LoopFusion class may need to inspect loop headers to decide which > subsets of loops to fuse and then fuse them as it goes. LoopPassManager will expose two virtual methods. 1) runOnLoop(Loop &L, LoopPassManger &LPM) Loop transformation can override to process this particular loop. 2) runO...
2006 Nov 07
0
[LLVMdev] PassManager
...will maintain loop > priority queue and expose APIs to add/remove loops that > transformations can use. > > >> For >> example, some algorithms make internal decisions about which loops to >> handle together and also what order to visit them. For example, the >> LoopFusion class may need to inspect loop headers to decide which >> subsets of loops to fuse and then fuse them as it goes. > > LoopPassManager will expose two virtual methods. > > 1) runOnLoop(Loop &L, LoopPassManger &LPM) > > Loop transformation can override to process...
2006 Nov 07
0
[LLVMdev] PassManager
...oops in some fixed order. Then the pass could be responsible for making sure that it handles issues like loops that are deleted during the pass. For example, some algorithms make internal decisions about which loops to handle together and also what order to visit them. For example, the LoopFusion class may need to inspect loop headers to decide which subsets of loops to fuse and then fuse them as it goes. I think you could do this just by adding an iterator method somewhere that enumerates sets of loops (i.e,. returns a vector of Loop objects). The bottom-up iterator could just be a...
2006 Nov 07
4
[LLVMdev] PassManager
Hi All, I am planning to re-implement PassManager in llvm 2.0. The goal is to address http://nondot.org/sabre/LLVMNotes/Inliner-PassManager.txt and http://nondot.org/sabre/LLVMNotes/LoopOptimizerNotes.txt and other crazy ideas Chris has. Current implementation of PassManager is very complex. Initially I attempted to update it to address above notes but realized that redoing
2010 Sep 08
0
[LLVMdev] loop fusion
I did find this note from 2004 that references a LoopFusion pass, but I can't find it in the source code: http://nondot.org/sabre/LLVMNotes/LoopOptimizerNotes.txt A little background - I'm working on a SIMD runtime, where I have a scalar program but need to execute it on multiple independent data elements. One approach is to generate a loop for...
2006 Nov 07
2
[LLVMdev] PassManager
...t; fixed order. Then the pass could be responsible for making sure that > it handles issues like loops that are deleted during the pass. For > example, some algorithms make internal decisions about which loops to > handle together and also what order to visit them. For example, the > LoopFusion class may need to inspect loop headers to decide which > subsets of loops to fuse and then fuse them as it goes. I think I see the issue here. The point of the pass manager (in general) is for passes to *give up control* over iteration order in order for obtain something else. For example,...
2010 Sep 07
2
[LLVMdev] loop fusion
Is there a transformation in LLVM that will perform loop fusion? http://en.wikipedia.org/wiki/Loop_fusion I have the following program, in which I would like the 2 loops (iterating the same number of times) to be merged into 1, after which other nice optimizations such as mem2reg will apply: ; ModuleID = 'test' define void @vector([16 x float]* nocapture %arg, [16 x float]* nocapture
2020 Mar 27
2
[GSoC] Prospective student for Unify ways to move code or check if code is safe to be moved
Hi Rithik, CodeMoverUtils is not aimed for only loop transformations, it can be used by any transformation which want to move code or check if code is safe to be moved. It can currently do both hoist and sink but require control flow equivalent between the original location and the intended to be moved location. I would like to keep the API decoupled from loop, so other transformation can use it.
2020 Apr 17
4
[RFC] Improving FileCheck
...LLVM :: MC/RISCV/relocations.s > LLVM :: MC/RISCV/rv32b-aliases-valid.s > LLVM :: MC/RISCV/rv64b-aliases-valid.s > LLVM :: MC/RISCV/rva-aliases-valid.s > LLVM :: MC/RISCV/rvi-aliases-valid.s > LLVM :: Transforms/InstCombine/double-float-shrink-2.ll > LLVM :: Transforms/LoopFusion/cannot_fuse.ll > LLVM :: tools/llvm-objdump/ELF/dynamic-section-machine-specific.test > LLVM :: tools/llvm-readobj/ELF/RISCV/section-types.test > LLVM :: tools/llvm-readobj/ELF/section-types.test > LLVM :: tools/llvm-readobj/ELF/symbol-binding.test > > All of these are var...
2006 Nov 07
0
[LLVMdev] PassManager
...Then the pass could be responsible for making sure that >> it handles issues like loops that are deleted during the pass. For >> example, some algorithms make internal decisions about which loops to >> handle together and also what order to visit them. For example, the >> LoopFusion class may need to inspect loop headers to decide which >> subsets of loops to fuse and then fuse them as it goes. > > I think I see the issue here. The point of the pass manager (in > general) > is for passes to *give up control* over iteration order in order for > obtain so...
2019 Apr 17
6
How to deal with accidental directory tree deletes, downstream?
Hello fellow downstream residents, I see that r358546 accidentally deleted an entire subtree, which was reverted in r358552. This of course caused a big merge conflict in our local repo, and internally we've been debating tactics for dealing with it, hopefully without losing our original history. Has anyone else handled this in a way that they are happy with? We found a StackOverflow
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:
2010 Sep 08
3
[LLVMdev] loop fusion
Andrew, There is not any transformation in LLVM that does loop fusion. I do not of anyone who is working on this. If you're interested to work on it then it'd be great! - Devang On Sep 8, 2010, at 9:34 AM, Andrew Clinton wrote: > I did find this note from 2004 that references a LoopFusion pass, but I > can't find it in the source code: > http://nondot.org/sabre/LLVMNotes/LoopOptimizerNotes.txt > > A little background - I'm working on a SIMD runtime, where I have a > scalar program but need to execute it on multiple independent data > elements. One appr...
2020 Mar 24
2
[GSoC] Prospective student for Unify ways to move code or check if code is safe to be moved
Np, good luck! :) - Stefanos Στις Τρί, 24 Μαρ 2020 στις 8:55 μ.μ., ο/η RITHIK SHARMA < rithiksh02 at gmail.com> έγραψε: > Many thanks, Stefanos! I really appreciate your help :) I heard from > Whitney. > > Best, > Rithik > > On Tue, 24 Mar 2020 at 23:08, Stefanos Baziotis < > stefanos.baziotis at gmail.com> wrote: > >> Hi Rithik, >> >> I
2020 Jul 24
2
Regarding the project "Create LoopNestPass"
Hi, I would like to give a quick update on what my current design and implementation go like. Basically, the `FunctionToLoopPassAdaptor` is now modified to a generic version `FunctionToLoopUnitPassAdaptor`, which allows re-using the existing codes to implement `FunctionToLoopNestPassAdaptor`, with the help of additional metadata associated with `Loop` and `LoopNest`. Both
2020 Jul 18
3
Regarding the project "Create LoopNestPass"
Hi, Thanks for your help! I've checked the sources that you mentioned. Currently, I think that I would need to implement a FunctionToLoopNestPassAdaptor which is essentially the same as the FunctionToLoopPassAdaptor but operates only on LI.getTopLevelLoops(). We might also need a LNPMUpdater (LoopNestPassManagerUpdater) which disallows adding inner-loops back into the pipeline, and
2017 Sep 22
3
[RFC] Polly Status and Integration
...t analyses have to be improved >>>> (e.g. past improvements to LAA to support the LoopVersioning >>>> utility, future improvements for full LoopSROA beyond just >>>> store->load forwarding [1] or the improvements to LAA for the >>>> LoopFusion proposal[2]) >>>> >>>> - As more complex loops would have to be analyzed we either >>>> improve LAA or make DependenceAnalysis a drop-in replacement >>>> for the memory analysis part in LAA >>> >>> Or we could use Pol...
2017 Sep 22
0
[RFC] Polly Status and Integration
...from two > directions: > > - As new transformations are built analyses have to be improved (e.g. past > improvements to LAA to support the LoopVersioning utility, future > improvements for full LoopSROA beyond just store->load forwarding [1] or > the improvements to LAA for the LoopFusion proposal[2]) > > - As more complex loops would have to be analyzed we either improve LAA or > make DependenceAnalysis a drop-in replacement for the memory analysis part > in LAA > > > Or we could use Polly's dependence analysis, which I believe to be more > powerful, mor...
2017 Sep 12
5
[RFC] Polly Status and Integration
...> two directions: > > - As new transformations are built analyses have to be improved (e.g. > past improvements to LAA to support the LoopVersioning utility, future > improvements for full LoopSROA beyond just store->load forwarding [1] > or the improvements to LAA for the LoopFusion proposal[2]) > > - As more complex loops would have to be analyzed we either improve > LAA or make DependenceAnalysis a drop-in replacement for the memory > analysis part in LAA Or we could use Polly's dependence analysis, which I believe to be more powerful, more robust, and mo...
2017 Sep 22
0
[RFC] Polly Status and Integration
...ions: >> >> - As new transformations are built analyses have to be improved (e.g. >> past improvements to LAA to support the LoopVersioning utility, future >> improvements for full LoopSROA beyond just store->load forwarding [1] or >> the improvements to LAA for the LoopFusion proposal[2]) >> >> - As more complex loops would have to be analyzed we either improve LAA >> or make DependenceAnalysis a drop-in replacement for the memory analysis >> part in LAA >> >> >> Or we could use Polly's dependence analysis, which I believe t...