search for: loopdistribut

Displaying 20 results from an estimated 23 matches for "loopdistribut".

Did you mean: loopdistribute
2016 Mar 28
0
[GSoC'16] Need details on New Transformations and Analyses
...o DA frameworks at the moment. The file you mention is > only used currently by the LoopInterchange pass that is off by default. > There is also the other framework that I’ve been working on called > LoopAccessAnalysis that’s currently used by the LoopVectorizer, > LoopLoadElimination, LoopDistribution and LICMLoopVersioning (the latter > two are off by default). > Do you think it is reasonable and feasible to provide a common interface for different loop dependence analyses like alias analysis, such that passes like LoopVectorizer/LoopLoadElimination/LoopDistribution etc. can query loo...
2016 Mar 23
2
[GSoC'16] Need details on New Transformations and Analyses
...We actually have two DA frameworks at the moment. The file you mention is only used currently by the LoopInterchange pass that is off by default. There is also the other framework that I’ve been working on called LoopAccessAnalysis that’s currently used by the LoopVectorizer, LoopLoadElimination, LoopDistribution and LICMLoopVersioning (the latter two are off by default). >> >> Value range propagation pass. There was a discussion about this topic (https://groups.google.com/forum/#!topic/llvm-dev/XXqfemtDX74/discussion <https://groups.google.com/forum/#%21topic/llvm-dev/XXqfemtDX74/discu...
2016 Feb 19
3
Implement Loop Fusion Pass
...pendences between > instructions in L2 to instructions in L1 which would be illegal. > > As a side effect you’d also get the total set of memchecks which you could > filter to only include checks where the participating pointers come from > different loops. (This is quite similar to LoopDistribution.) > I am happy to add a routine in a subsequent patch that filter the checks. > > Also I don’t think it should be too hard to teach LVer to be able to > version two consecutive loops (or arbitrary CFG?). > I think yes. Instead of Loop Versioning deciding to version, code can be f...
2016 Feb 18
2
Implement Loop Fusion Pass
Hi all, I have created a patch (up for review at: http://reviews.llvm.org/D17386) that does Loop Fusion implementation. Approach: Legality: Currently it can fuse two adjacent loops whose iteration spaces are same and are at same depth. Dependence legality: Currently, dependence legality cannot be checked across loops. Hence the loops are cloned along a versioned path, unconditionally fused
2016 Feb 24
2
Implement Loop Fusion Pass
...ve backward dependences between instructions in L2 to instructions in L1 which would be illegal. > > As a side effect you’d also get the total set of memchecks which you could filter to only include checks where the participating pointers come from different loops. (This is quite similar to LoopDistribution.) > I am happy to add a routine in a subsequent patch that filter the checks. > Just to clarify, I meant to filter the runtime checks which is currently not done in the patch. > > Also I don’t think it should be too hard to teach LVer to be able to version two consecutive loops (or...
2015 Nov 03
2
Loop Load Elimination - RAR forward deps
Hi Adam, I'm looking into your LLE pass in order to remove the RAR dependency from GVN, and I've hit a problem that might need some more thinking. I've modified your patch to cope with both kinds of dependencies in the ForwardingCandidate class, but the way the pass gathers informations only brings RAW dependencies: const auto *Deps = LAI.getDepChecker().getDependences(); if
2020 Jan 11
2
Writing loop transformations on the right representation is more productive
...on > > fails, the original code is executed. > > This sounds like it will bloat code for a lot of cold cases. Or worse, > get it wrong, and put hot code in the cold path. Are you arguing against code versioning? It is already done today by multiple passes such as LoopVersioningLICM, LoopDistribute, LoopUnrollAndJam and LoopVectorize. The proposal explicitly tries to avoid code bloat by having just one fallback copy. Runtime conditions can be chosen more or less optimistically, but I don't see how this should be an argument for all kinds of versioning. If you are concerned about bloat i...
2017 Sep 22
3
[RFC] Polly Status and Integration
...improve and generalize the required analyses >>>> (e.g. the LoopVectorizer’s dependence analysis + loop >>>> versioning analysis into a stand-alone analysis pass >>>> (LoopAccessAnalysis)) and then build new transformations (e.g. >>>> LoopDistribution, LoopLoadElimination, LICMLoopVersioning) on >>>> top of these. >>>> >>>> The idea was that infrastructure would be incrementally >>>> improved from two directions: >>>> >>>> - As new transformations are buil...
2017 Sep 22
0
[RFC] Polly Status and Integration
...r more-or-less established direction was so far to incrementally improve > and generalize the required analyses (e.g. the LoopVectorizer’s dependence > analysis + loop versioning analysis into a stand-alone analysis pass > (LoopAccessAnalysis)) and then build new transformations (e.g. > LoopDistribution, LoopLoadElimination, LICMLoopVersioning) on top of these. > > The idea was that infrastructure would be incrementally improved from two > directions: > > - As new transformations are built analyses have to be improved (e.g. past > improvements to LAA to support the LoopVersion...
2017 Sep 12
5
[RFC] Polly Status and Integration
...re-or-less established direction was so far to incrementally > improve and generalize the required analyses (e.g. the > LoopVectorizer’s dependence analysis + loop versioning analysis into a > stand-alone analysis pass (LoopAccessAnalysis)) and then build new > transformations (e.g. LoopDistribution, LoopLoadElimination, > LICMLoopVersioning) on top of these. > > The idea was that infrastructure would be incrementally improved from > two directions: > > - As new transformations are built analyses have to be improved (e.g. > past improvements to LAA to support the Loo...
2017 Sep 22
0
[RFC] Polly Status and Integration
...stablished direction was so far to incrementally >> improve and generalize the required analyses (e.g. the LoopVectorizer’s >> dependence analysis + loop versioning analysis into a stand-alone analysis >> pass (LoopAccessAnalysis)) and then build new transformations (e.g. >> LoopDistribution, LoopLoadElimination, LICMLoopVersioning) on top of these. >> >> The idea was that infrastructure would be incrementally improved from two >> directions: >> >> - As new transformations are built analyses have to be improved (e.g. >> past improvements to LAA to...
2017 Sep 22
1
[RFC] Polly Status and Integration
...ired analyses >>>>> (e.g. the LoopVectorizer’s dependence analysis + loop >>>>> versioning analysis into a stand-alone analysis pass >>>>> (LoopAccessAnalysis)) and then build new transformations >>>>> (e.g. LoopDistribution, LoopLoadElimination, >>>>> LICMLoopVersioning) on top of these. >>>>> >>>>> The idea was that infrastructure would be incrementally >>>>> improved from two directions: >>>>> >>>>>...
2017 Sep 13
0
[RFC] Polly Status and Integration
...gt;> >> Our more-or-less established direction was so far to incrementally improve and generalize the required analyses (e.g. the LoopVectorizer’s dependence analysis + loop versioning analysis into a stand-alone analysis pass (LoopAccessAnalysis)) and then build new transformations (e.g. LoopDistribution, LoopLoadElimination, LICMLoopVersioning) on top of these. >> >> The idea was that infrastructure would be incrementally improved from two directions: >> >> - As new transformations are built analyses have to be improved (e.g. past improvements to LAA to support the Loo...
2020 Jan 15
2
Writing loop transformations on the right representation is more productive
...R will invariably create > some adoption barriers. I see it as an advantage in respect of adoption: It can be switched on and off without affecting other parts. > > Are you arguing against code versioning? It is already done today by > > multiple passes such as LoopVersioningLICM, LoopDistribute, > > LoopUnrollAndJam and LoopVectorize. The proposal explicitly tries to > > avoid code bloat by having just one fallback copy. Runtime conditions > > can be chosen more or less optimistically, but I don't see how this > > should be an argument for all kinds of version...
2017 Sep 22
4
[RFC] Polly Status and Integration
...was so far to incrementally >>> improve and generalize the required analyses (e.g. the >>> LoopVectorizer’s dependence analysis + loop versioning analysis into >>> a stand-alone analysis pass (LoopAccessAnalysis)) and then build new >>> transformations (e.g. LoopDistribution, LoopLoadElimination, >>> LICMLoopVersioning) on top of these. >>> >>> The idea was that infrastructure would be incrementally improved >>> from two directions: >>> >>> - As new transformations are built analyses have to be improved >&g...
2017 Sep 13
3
[RFC] Polly Status and Integration
...r more-or-less established direction was so far to incrementally improve > and generalize the required analyses (e.g. the LoopVectorizer’s dependence > analysis + loop versioning analysis into a stand-alone analysis pass > (LoopAccessAnalysis)) and then build new transformations (e.g. > LoopDistribution, LoopLoadElimination, LICMLoopVersioning) on top of these. > > The idea was that infrastructure would be incrementally improved from two > directions: > > - As new transformations are built analyses have to be improved (e.g. past > improvements to LAA to support the LoopVersion...
2016 Mar 23
0
[GSoC'16] Need details on New Transformations and Analyses
On 03/20/2016 05:38 AM, Aries Gunawan via llvm-dev wrote: > > Hi everyone, > > I am very interested in contributing to LLVM project in this year’s > GSoC. I am new with LLVM, but this is used in the compiler course in > my university. So, I am thinking to involve in LLVM development to > have a better knowledge of the system. Currently, I am preparing the > proposal.
2016 Mar 20
4
[GSoC'16] Need details on New Transformations and Analyses
Hi everyone, I am very interested in contributing to LLVM project in this year's GSoC. I am new with LLVM, but this is used in the compiler course in my university. So, I am thinking to involve in LLVM development to have a better knowledge of the system. Currently, I am preparing the proposal. One of the project that caught my eyes is "New Transformations and Analysis". Several
2020 Jan 03
10
Writing loop transformations on the right representation is more productive
...ariant using a cost function and select the 'best' when re-generating LLVM-IR again (or re-use the original LLVM-IR). Otherwise, each transformation will have to implement its own profitability heuristic but cannot know what other passes will do. For instance, the motivation for LLVM's LoopDistribution is to enable vectorization of loops that can be separated from other loops. However, it does not know whether LoopVectorize will actually vectorize the loop, or whether two vectorizable loops are better vectorized together. Instantiating every possible sequence of transformations of course is n...
2017 Sep 22
0
[RFC] Polly Status and Integration
...to incrementally > >>>improve and generalize the required analyses (e.g. the > >>>LoopVectorizer’s dependence analysis + loop versioning analysis into a > >>>stand-alone analysis pass (LoopAccessAnalysis)) and then build new > >>>transformations (e.g. LoopDistribution, LoopLoadElimination, > >>>LICMLoopVersioning) on top of these. > >>> > >>>The idea was that infrastructure would be incrementally improved from > >>>two directions: > >>> > >>>- As new transformations are built analyses hav...