search for: loopunrollandjam

Displaying 19 results from an estimated 19 matches for "loopunrollandjam".

2019 Apr 25
2
How to use the pass 'Unroll and Jam'
...nicalize natural loops LCSSA Verifier Loop-Closed SSA Form Pass Loop Pass Manager Unroll and Jam loops Module Verifier Print Module IR ``` I also tried to add the option '-debug' to the opt to see if there is the debug information printed by LoopUnrollAndJam, but nothing. Thank you very much. -- Zhen Wei (魏禛) Master Student Department of Computer Science & Information Engineering National Taiwan University Email: zhenwei.tw at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pip...
2019 Oct 02
2
vectorize.enable
...hey will be able to later. However, we also should > improve the diagnostics in these cases. This was not the only consideration. With ordered transformations, such as vectorize after unroll-and-jam, the LoopVectorize does not even have a chance to analyze the code since it is located after the LoopUnrollAndJam pass. We would still warn that vectorization has not been performed. > I recommend that we consider taking a kind of delayed-diagnostic > approach. When a pass cannot perform the requested transformation, it > records some rationale into the metadata. That rationale can be reported >...
2019 May 21
2
RFC: changing variable naming rules in LLVM codebase
Hi folks, Git is on its way to learning how to ignore commits, allowing us to do variable renaming and other small refactorings without breaking git blame. It's like git-hyper-blame [1] but significantly more powerful as it uses fuzzy matching to match lines, including lines that may have been split or joined. A preview release of Git with this new feature is at:
2019 Jun 07
2
RFC: changing variable naming rules in LLVM codebase
...R codebase is public > <https://github.com/tensorflow/mlir> and uses it. > > If you’re curious to see what this looks like in practice, there are lots > of examples in the codebase, here is an example .cpp file > <https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp> > , here is another > <https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp>, > here is an example header > <https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h> > . > > > We are still working our way through open sou...
2018 Aug 09
3
Legacy Loop Pass Manager question
...ought. However for this code snippet: if (EnableUnrollAndJam) { // Unroll and Jam. We do this before unroll but need to be in a separate // loop pass manager in order for the outer loop to be processed by // unroll and jam before the inner loop is unrolled. MPM.add(createLoopUnrollAndJamPass(OptLevel)); } MPM.add(createLoopUnrollPass(OptLevel)); // Unroll small loops I see: Loop-Closed SSA Form Pass Loop Pass Manager Unroll and Jam loops Loop Pass Manager Unroll loops Lazy Branch Probability Analysis Here two different loop pass...
2019 Jun 10
2
RFC: changing variable naming rules in LLVM codebase
...is public > <https://github.com/tensorflow/mlir> and uses it. > > > > If you’re curious to see what this looks like in practice, there are lots > of examples in the codebase, here is an example .cpp file > <https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp> > , here is another > <https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp>, > here is an example header > <https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h> > . > > > > > > We are still working our way t...
2019 Oct 04
4
vectorize.enable
...er. However, we also should >> improve the diagnostics in these cases. > This was not the only consideration. With ordered transformations, > such as vectorize after unroll-and-jam, the LoopVectorize does not > even have a chance to analyze the code since it is located after the > LoopUnrollAndJam pass. We would still warn that vectorization has not > been performed. > > >> I recommend that we consider taking a kind of delayed-diagnostic >> approach. When a pass cannot perform the requested transformation, it >> records some rationale into the metadata. That ration...
2019 Jul 09
2
RFC: changing variable naming rules in LLVM codebase
...>>>> >>>> >>>> >>>> If you’re curious to see what this looks like in practice, there are >>>> lots of examples in the codebase, here is an example .cpp file >>>> <https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp> >>>> , here is another >>>> <https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp>, >>>> here is an example header >>>> <https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h> >>>> ....
2019 Jul 09
4
RFC: changing variable naming rules in LLVM codebase
...IR codebase is public <https://github.com/tensorflow/mlir> and uses it. > > > > If you’re curious to see what this looks like in practice, there are lots of examples in the codebase, here is an example .cpp file <https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp>, here is another <https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp>, here is an example header <https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h>. > > > > > > We are still working our way through open sourcing...
2020 Jan 11
2
Writing loop transformations on the right representation is more productive
...ls, 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 in cold paths, we co...
2019 Jul 10
3
RFC: changing variable naming rules in LLVM codebase
...;>>>> >>>>> >>>>> If you’re curious to see what this looks like in practice, there are >>>>> lots of examples in the codebase, here is an example .cpp file >>>>> <https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp> >>>>> , here is another >>>>> <https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp>, >>>>> here is an example header >>>>> <https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h> &gt...
2019 Oct 07
2
vectorize.enable
...ld > >> improve the diagnostics in these cases. > > This was not the only consideration. With ordered transformations, > > such as vectorize after unroll-and-jam, the LoopVectorize does not > > even have a chance to analyze the code since it is located after the > > LoopUnrollAndJam pass. We would still warn that vectorization has not > > been performed. > > > > > >> I recommend that we consider taking a kind of delayed-diagnostic > >> approach. When a pass cannot perform the requested transformation, it > >> records some rationale...
2019 Jul 10
4
RFC: changing variable naming rules in LLVM codebase
...t;>>> >>>>>>> If you’re curious to see what this looks like in practice, there are >>>>>>> lots of examples in the codebase, here is an example .cpp file >>>>>>> <https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp> >>>>>>> , here is another >>>>>>> <https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp>, >>>>>>> here is an example header >>>>>>> <https://github.com/tensorflow/mlir/blob/master/in...
2019 Oct 02
2
vectorize.enable
Am Mi., 2. Okt. 2019 um 07:08 Uhr schrieb Florian Hahn via llvm-dev <llvm-dev at lists.llvm.org>: > The other thing is that with the patch behaviour is slightly changed and we could get a diagnostic we didn't get before: > > warning: loop not vectorized: the optimizer was unable to > perform the requested transformation; the transformation might be disabled or >
2019 Jul 09
2
RFC: changing variable naming rules in LLVM codebase
Hi Rui, I’m totally positive on switching to camelCase convention. In fact I have been always uncomfortable with the current naming approach. My only suggestion/concern is that we should provide a transition path not only for the trunk code in the repository, but for eventual out-of-trunk code with implementations of custom architectures. I have currently a custom backend implemented on top of
2019 Jul 12
5
RFC: changing variable naming rules in LLVM codebase
...vm.org/D64123 > [2] https://llvm.org/docs/Proposals/VariableNames.html#provisional-plan > [3] > https://public-inbox.org/git/20190515214503.77162-8-brho at google.com/T/ > [4] https://github.com/tensorflow/mlir > [5] > https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp > [6] > https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp > [7] > https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h > [8] https://github.com/mplatings/git/releases/tag/ignore-rev > [9] > https://commondatastorage.googleapis.com/c...
2020 Jan 15
2
Writing loop transformations on the right representation is more productive
...gt; 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 versioning. > > No. I'm ca...
2019 Jul 18
4
RFC: changing variable naming rules in LLVM codebase
...//llvm.org/docs/Proposals/VariableNames.html#provisional-plan > > [3] > > https://public-inbox.org/git/20190515214503.77162-8-brho at google.com/T/ > > [4] https://github.com/tensorflow/mlir > > [5] > > > https://github.com/tensorflow/mlir/blob/master/lib/Transforms/LoopUnrollAndJam.cpp > > [6] > > https://github.com/tensorflow/mlir/blob/master/lib/Parser/Parser.cpp > > [7] > > > https://github.com/tensorflow/mlir/blob/master/include/mlir/IR/Location.h > > [8] https://github.com/mplatings/git/releases/tag/ignore-rev > > [9] > > >...
2020 Jan 03
10
Writing loop transformations on the right representation is more productive
In the 2018 LLVM DevMtg [1], I presented some shortcomings of how LLVM optimizes loops. In summary, the biggest issues are (a) the complexity of writing a new loop optimization pass (including needing to deal with a variety of low-level issues, a significant amount of required boilerplate, the difficulty of analysis preservation, etc.), (b) independent optimization heuristics and a fixed pass