search for: loopinterchange

Displaying 18 results from an estimated 18 matches for "loopinterchange".

2010 Jul 14
0
[LLVMdev] LoopInterchange Pass
...SA form. > std::vector<std::pair<Loop*,Loop*> > interchangedLoops; This may not be the most reliable way to keep track of interchangedLoops. This vector must be recomputed if loop info is recreated. It must be updated if a loop is replaced or deleted by another pass. > void LoopInterchange::updateDominators ... However the pass does not preserve dominators info. > void LoopInterchange::removeChildLoop It is a good idea to use another name for this method to avoid any confusion with Loop::removeChildLoop. What is the difference between updateSSA() and updateSSAAgain() ? - Devan...
2010 Jul 14
1
[LLVMdev] LoopInterchange Pass
--- On Tue, 7/13/10, Satya Jandhayala <satya_jandhayala at yahoo.com> wrote: From: Satya Jandhayala <satya_jandhayala at yahoo.com> Subject: LoopInterchange Pass To: llvmdev at cs.uiuc.edu Date: Tuesday, July 13, 2010, 12:06 PM Hi,   I developed a Loop Interchange pass. Please take a look. I have not incorporate data dependence analysis check. I can insert it when the LoopDependenceAnalysis is available.   Thank you Satya -------------...
2010 Jul 13
4
[LLVMdev] LoopInterchange Pass
...ext part -------------- An embedded and charset-unspecified text was scrubbed... Name: README.txt URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100713/654d5fd5/attachment.txt> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: LoopInterchange.cpp URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100713/654d5fd5/attachment.ksh>
2010 Jul 13
0
[LLVMdev] LoopInterchange Pass
...loop nest.   -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100713/3cfda735/attachment.html> -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: LoopInterchange.cpp URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100713/3cfda735/attachment.ksh>
2017 Nov 18
2
Is llvm capable of doing loop interchange optimization?
Hello, I've been playing around with the really simple example of not cache friendly loop like this: #define N 100 void foo(int** __restrict__ a, int** __restrict__ b) { for (int i = 0; i < N; ++i) for (int j = 0; j < N; ++j) a[j][i] += b[j][i]; } link to compiler explorer:
2016 Mar 23
2
[GSoC'16] Need details on New Transformations and Analyses
...de it, but haven't been following it closely. I'd suggest talking to committers active in this file in the recent past to determine what useful work might be left of appropriate scope. \ 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 propaga...
2016 Mar 28
0
[GSoC'16] Need details on New Transformations and Analyses
...ing it > closely. I'd suggest talking to committers active in this file in the > recent past to determine what useful work might be left of appropriate > scope. \ > > > 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). > Do you think it...
2016 Jun 23
3
[Proposal][RFC] Cache aware Loop Cost Analysis
...Loop k cost: 1.563688e+11 Loop cost here is nothing but the total cache penalities due to all references, including penalties due to outer loops. So lower costing loop is a better fit for innermost loop because it has better cache locality. This would result in the desired loop order: i, k, j; and LoopInterchange can interchange 'j' and 'k' loops given the legality check passes (a nearest ordering for which legality is correct is also an optimal loop ordering). For fusion/fission, loop costs due to cache can be calculated by assigning cache penalties for references with respect to loops bef...
2020 Jul 15
2
Regarding the project "Create LoopNestPass"
Hi, I'm a college student who is quite new to the community and is interested in contributing to the LLVM project. Although I haven't applied to GSoC, I notice that the project "Create LoopNestPass" seems to be unassigned. So I'm curious whether anyone is currently working on it, and if not, is it possible for me to work on it as a side-project? I've been programming in
2015 Jul 29
1
[LLVMdev] Loop Dependence Analysis(getDistance())
Hi, I am trying to use the DependenceAnalysis pass to get the Distance vector for the innermost loop. I am in LLVM learing process. I have used the following code inside my original code to get the distance vector. It is not giving any syntax error but it is has some logical but and giving segmentation fault. void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll();
2020 Jul 18
3
Regarding the project "Create LoopNestPass"
...nPass, LoopPass. > One or more loop passes can be added in a LoopPassManager, which then can > be added in FunctionPassManager through createFunctionToLoopPassAdaptor. > Examples can be found in llvm/lib/Passes/PassBuilder.cpp. > There exist passes that best operate as a loop nest, e.g. LoopInterchange. > For those passes, currently can be written as either FunctionPass or > LoopPass. > However, choosing one or the other needs to sacrifice the ability of the > other. > The idea of a LoopNestPass is to combine the benefits of FunctionPass and > LoopPass needed for a loop nest. &g...
2020 Jul 24
2
Regarding the project "Create LoopNestPass"
...or more loop passes can be added in a LoopPassManager, which then > can be added in FunctionPassManager through > createFunctionToLoopPassAdaptor. > Examples can be found in llvm/lib/Passes/PassBuilder.cpp. > There exist passes that best operate as a loop nest, e.g. > LoopInterchange. For those passes, currently can be written as either > FunctionPass or LoopPass. > However, choosing one or the other needs to sacrifice the ability of > the other. > The idea of a LoopNestPass is to combine the benefits of FunctionPass > and LoopPass needed for a loo...
2016 Jun 23
2
[Proposal][RFC] Cache aware Loop Cost Analysis
On Thu, Jun 23, 2016 at 9:54 AM, Adam Nemet <anemet at apple.com> wrote: > > On Jun 9, 2016, at 9:21 AM, Vikram TV via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > > > On Wed, Jun 8, 2016 at 10:20 PM, Hal Finkel <hfinkel at anl.gov> wrote: > >> >> ------------------------------ >> >> *From: *"Vikram TV via
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
..., a significant amount of required boilerplate, the difficulty of analysis preservation, etc.), (b) independent optimization heuristics and a fixed pass ordering and (c) code explosion due to versioning. Currently, different people are working on improving different loop optimization passes such as LoopInterchange, LoopFuse and LoopVectorize. Even if LLVM had 'perfect' individual loop passes, they would still have the aforementioned problems due to still being independent and the system as a whole will be suboptimal. Instead of each loop pass being a major component, the heavy lifting could be done...
2020 Mar 17
4
GSoC Opportunity
Hi everyone, > I probably do not have the time to get a patch through. IMHO, you do. :) First of all, @Benson sorry but I'm not at all familiar with LLDB so I can't help there. Other than that, I'll also disappoint you both probably because I'm not that familiar with the creation of passes and the problem at hand. I'll try to help as I can. > Is there a specific
2015 Jul 29
1
[LLVMdev] Error when i am using command make -j4 command in cygwin to compile safecode
...r Release+Asserts build llvm[3]: Compiling IPA.cpp for Release+Asserts build llvm[3]: Compiling X86PadShortFunction.cpp for Release+Asserts build llvm[3]: Compiling DbgValueHistoryCalculator.cpp for Release+Asserts build llvm[3]: Compiling InlineCost.cpp for Release+Asserts build llvm[3]: Compiling LoopInterchange.cpp for Release+Asserts build llvm[3]: Compiling DebugLocStream.cpp for Release+Asserts build llvm[3]: Compiling X86RegisterInfo.cpp for Release+Asserts build llvm[3]: Compiling DwarfAccelTable.cpp for Release+Asserts build llvm[3]: Building Release+Asserts Archive Library libLLVMipa.a make[3]: Lea...