search for: peeling

Displaying 20 results from an estimated 220 matches for "peeling".

Did you mean: feeling
2020 Mar 23
2
questionabout loop rotation
...an 2 > conditionals, > > LICM would fail to move loop invariant from the second conditional > because loop rotation didn't peel all the conditionals. > > My observation is from a while ago so happy to be corrected. > > > > Have you considered using the existing LoopPeeling infrastructure (part of > loop unrolling) to do the peeling? It already peels off iterations from the > start up to a threshold, if it makes a condition in the loop body > invariant. > > I am not entirely sure about the exact cases/conditions that the patch > targets (the test...
2009 Nov 24
3
[LLVMdev] RFC: New Exception Handling Proposal
Hi Jay, > Are you saying that, in the LLVM IR, it would be legal to have an > llvm.eh.exception that *isn't* dominated by convokes (because there's > a direct branch to that catch block), and in that case the call > returns an undefined value? this is already the case (with invoke substituted for convoke). And it would be up to codegen to "peel it > out into its own
2009 Nov 24
0
[LLVMdev] RFC: New Exception Handling Proposal
>> Are you saying that, in the LLVM IR, it would be legal to have an >> llvm.eh.exception that *isn't* dominated by convokes (because there's >> a direct branch to that catch block), and in that case the call >> returns an undefined value? > > this is already the case (with invoke substituted for convoke). Good to know. It would be nice if this was clearly
2001 Mar 21
3
bitrtate peeling and lossless compression
I just read some of the discussion on the list about 'bitrate peeling' and remembered an interview of Monty that I have read recently. In it he says that Vorbis uses MCDTs <sp> and that these are theoretically reversable. And now, I learn that theoretically we can use bitrate peeling to make smaller files from larger ones, and that leads to my question. C...
2020 Mar 21
4
questionabout loop rotation
Hi Stefanos, Thanks for your comments. I added both as reviewer. > One question though. Are you sure that this: > This helps with LICM when instructions inside a conditional is loop invariant  > is not achieved with the current LoopRotate pass? Because AFAIK, it does. Basically it inserts > a guard (that branches to the preheader) and then passes like LICM hoist invariant
2010 Jun 04
0
[LLVMdev] Speculative phi elimination at the top of a loop?
Hi, On Fri, Jun 4, 2010 at 5:18 AM, Pekka Nikander <pekka.nikander at nomadiclab.com> wrote: >  Would the best way be to add an option to -loop-unroll, and hack away at lib/Transforms/Utils/LoopUnroll.cpp? Instead, the better alternative is to write another pass similar to LoopUnrollPass.cpp (say LoopPeelPass.cpp) and add new option -loop-peel. The new pass could use
2009 Nov 24
0
[LLVMdev] RFC: New Exception Handling Proposal
>> As I understand it, when you generate native code, at each landing pad >> the exception pointer appears magically in a well-known native >> register. > Well, it's not entirely magical. :-) It gets the exception object by calling > __cxa_get_exception_ptr __cxa_get_exception_ptr returns an "adjusted" pointer to the exception object, but you still have to
2009 Nov 23
3
[LLVMdev] RFC: New Exception Handling Proposal
On Nov 20, 2009, at 2:15 AM, Jay Foad wrote: >> Please read and let me know your opinions! > > This definitely seems like an improvement on the current situation. > >> .---------. >> | convoke | >> `---------' >> | >> v >> .-----------------------. >> |
2001 Jun 18
3
ext3 and 2.4.x-smp
I am running a RH6/7ish system on an abit bp6 with 2.4-test12 -smp running rock solid. I have a new drive that I want to use to test out a journa;ing file system on, and thus far have not been happy with reiserfs and have been waiting for ext3 on 2.4 (I had been considering xfs as an alternative but from what i've read it's a little too robust for my needs). Anyway, I guess I am
2016 Oct 27
8
(RFC) Encoding code duplication factor in discriminator
...ze_factor is less than 256, thus 8 bit for it. For unique number(type 2 duplication), we assume code is at most duplicated 32 times, thus 5 bit for it. Overall, we still have 11 free bits left in the discriminator encoding. Let's take the original source as an example, after loop unrolling and peeling, the code may looks like: for (i = 0; i < N & 3; i+= 4) { foo(); // discriminator: 0x40 foo(); // discriminator: 0x40 foo(); // discriminator: 0x40 foo(); // discriminator: 0x40 } if (i++ < N) { foo(); // discriminator: 0x100 if (...
2018 Feb 22
1
Loop splitting as a special case of unswitch
...k++) { >> dummy(); >> dummy2(); >> } >> for (; k <=L; k++) { >> dummy(); >> } > I believe i have reported a similar case as > https://bugs.llvm.org/show_bug.cgi?id=34364 What I meant here is little different from the loop peeling mentioned in PR34364. While loop splitting remove the conditional block in the loop by breaking the loop into two parts, loop peeling take the first or last few iterations out of the loop. I think the loop splitting can cover more dynamic cases where the iteration size of each portion is unknow...
2017 Aug 24
1
[RFC] Enhance Partial Inliner by using a general outlining scheme for cold blocks
...on how this will co-exist with the existing code that peels early returns. The control flow looks something like this: // New Code: find cold regions to outline if (!computeOutliningInfoForColdRegions()) { // If we can't find any cold regions, then fall-back to early return peeling if (!computeOutliningInfo) { return nullptr; } } // Try to outline the identified regions // Then try to inline the cloned function My concern is during inlining, if we fail to inline the cloned function, we give up and discard all cloned and outlined functions. But with...
2020 Mar 21
2
questionabout loop rotation
hi, I had an implementation of loop-rotation that peels the loop such that each conditional is executed at least once. https://reviews.llvm.org/D22630 This helps with LICM when instructions inside a conditional is loop invariant. The patch has decent number of test cases. All the requested comments were addressed at that time. I'm happy to rebase and put the patch again. -Aditya
2018 Dec 12
2
The bit pattern after stripPointerCasts()
Hi, in a recent review [0], Florian Hahn helped me to realize something that was rather surprising to me: The widely popular and very useful function llvm::Value::stripPointerCasts() can return a value with a different bit pattern than the input. Now, I think this should not be the case but I want the hear other opinions. Before I go on, please not that there is at least one location in
2018 Feb 06
2
Current PGO status
...n this) > > ThinLTO also works well with PGO. > > Hope this helps. > > David > > >/What I can tell you is that there are many missing ones (that can > benefit /from profile): such as profile aware LICM (patch pending), speculative PRE, > loop unrolling, loop peeling, auto vectorization, inlining, function > splitting, function layout, function outlinling, profile driven size > optimization, induction variable optimization/strength reduction, stringOp > specialization/optimization/inlining, switch peeling/lowering etc. The > biggest...
2011 Feb 08
1
[LLVMdev] A question about LICM (Loop Invariant Code Motion)
On Tue, Feb 8, 2011 at 4:55 AM, Duncan Sands <baldrick at free.fr> wrote: > Hi Yuelu, > >> After tracking the LICM pass, I find that both loads are loop >> invariant, and canSinkOrHoist() also returns true; however the >> difference is at Instruction::isSafeToSpeculativelyExecute(), >> for load from function parameter pointer, it return false; with load >>
2013 Jul 21
1
[LLVMdev] Disable vectorization for unaligned data
If I got you right, this is the classic case for loop peeling. I thought LLVM's vectorizer had something like that already in. On 21 July 2013 18:16, Arnold Schwaighofer <aschwaighofer at apple.com> wrote: > I will have to work on this soon as ARM also has pretty inefficient > unaligned vector loads. > NEON does support unaligned access...
2019 Nov 05
2
sievec *.sieve problem.
Hello! For the second time I've tripped onto this banana peel. :) I had 2 sieve files in a directory that I wanted to compile: sievec *.sieve The result of this is that first.sieve is compiled into second.sieve instead of first.svbin, thus destroying the source of second.sieve. Please consider this a bug report. :) Good luck, Reio
2018 Feb 05
0
Current PGO status
...ol heigh reduction optimization (Hiroshi is working on this) ThinLTO also works well with PGO. Hope this helps. David >* What I can tell you is that there are many missing ones (that can benefit *from profile): such as profile aware LICM (patch pending), speculative PRE, loop unrolling, loop peeling, auto vectorization, inlining, function splitting, function layout, function outlinling, profile driven size optimization, induction variable optimization/strength reduction, stringOp specialization/optimization/inlining, switch peeling/lowering etc. The biggest profile user today...
2010 Jun 04
5
[LLVMdev] Speculative phi elimination at the top of a loop?
I am working on heavily optimising unusually static C++ code, and have encountered a situation where I basically want an optimiser that would speculatively unroll a loop to see if the first round of the loop could be optimised further. (I happen to know that it is possible.) The previous optimisations that produce the loop in the first place already do a magical job (relying heavily on constant