Displaying 20 results from an estimated 3000 matches similar to: "[LLVMdev] [polly] Polly Loop info and LoopSimplify functionality"
2013 May 16
0
[LLVMdev] [polly] Polly Loop info and LoopSimplify functionality
On 05/15/2013 07:08 PM, Sergei Larin wrote:
>
> Tobias,
[..]
>
> ...or as always I might be missing a big picture here, and I appreciate if
> you can explain the original intent.
Hi Sergei,
thanks for reporting this issue in so much detail. I am afraid there is
no bigger story. For some reason the update of the LoopInfo was not
included in the original patch of the code
2018 Jul 06
2
Verify that we only get loop metadata on latches
In https://bugs.llvm.org/show_bug.cgi?id=38011 (see also https://reviews.llvm.org/D48721) a problem was revealed related to llvm.loop metadata.
The fault was that clang added the !llvm.loop metadata to branches outside of the loop (not only the loop latch). That was not handled properly by some opt passes (simplifying cfg) since it ended up merging branch instructions with different !llvm.loop
2013 Mar 11
0
[LLVMdev] How to unroll reduction loop with caching accumulator on register?
I tried to manually assign each of 3 arrays a unique TBAA node. But it does
not seem to help: alias analysis still considers arrays as may-alias, which
most likely prevents the desired optimization. Below is the sample code
with TBAA metadata inserted. Could you please suggest what might be wrong
with it?
Many thanks,
- D.
marcusmae at M17xR4:~/forge/llvm$ opt -time-passes -enable-tbaa -tbaa
2013 Mar 01
0
[LLVMdev] Interesting post increment situation in DAG combiner
----- Original Message -----
> From: "Sergei Larin" <slarin at codeaurora.org>
> To: "Hal Finkel" <hfinkel at anl.gov>
> Cc: llvmdev at cs.uiuc.edu
> Sent: Friday, March 1, 2013 10:24:39 AM
> Subject: Interesting post increment situation in DAG combiner
>
> Hal, (and everyone who might care about post increment generation)...
Sergei,
Perhaps
2013 Mar 01
2
[LLVMdev] Interesting post increment situation in DAG combiner
Hal, (and everyone who might care about post increment generation)...
I have an interesting question/observation. Consider this vector loop.
void vec_add_const(unsigned N, short __attribute__ ((aligned (16))) *A,
short __attribute__ ((aligned (16))) val)
{
unsigned i,j;
for (i=0; i<N; i++) {
for (j=0; j<N; j++) {
A[i*N+j] += val;
}
}
}
The
2013 Mar 01
1
[LLVMdev] Interesting post increment situation in DAG combiner
Hal,
Here is my patch for the post inc case. I think it is symmetrically applicable to the pre-inc, but I have not tested it for that.
I think you can clearly see my intent here - I simply select the "latest" candidate when multiple are available.
Who else might be interested in this?
Sergei
---
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The
2015 Jul 16
3
[LLVMdev] why LoopUnswitch pass does not constant fold conditional branch and merge blocks
Hi,
I have a general question on LoopUnswtich pass.
Consider the following IR snippet:
define i32 @test(i1 %cond) {
br label %loop_begin
loop_begin:
br i1 %cond, label %loop_body, label %loop_exit
loop_body:
br label %do_something
do_something:
call void @some_func() noreturn nounwind
br label %loop_begin
loop_exit:
ret i32 0
}
declare void @some_func() noreturn
After running
2010 Apr 04
1
[LLVMdev] Code generators (both llvmc and Jit) get stuck when dealing circular CFG
Hi,
The following arbitrary example makes the code generators to get stuck
(llvmc won't return from command line, Jit won't return from function
call)
Basically it is a CFG with circles, (the function will return by
comparing a branch counter to a threshold on runtime - see the
"Brancher" blocks below)
Any idea what goes wrong? Is it a bug in llvm ?
; ModuleID =
2011 Nov 01
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
Mmm, this code seems to kill polly:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char *B;
int i,j,k,h;
const int x = 0, y=0;
B = (char *)malloc(sizeof(char)*1024*1024);
for (i = 1; i < 1024; i++)
for (j = 1; j < 1024; j++)
{
if (i+j > 1000)
B[j] = i;
}
printf("Random Value: %d", B[rand() % 1024*1024]);
return 0;
}
running:
opt
2013 Oct 03
1
[LLVMdev] [Polly] Move Polly's execution later
On 09/30/2013 04:11 AM, Star Tan wrote:
> At 2013-09-25 18:03:18,"Tobias Grosser" <tobias at grosser.es> wrote:>
>> I think this is too early, as most of the canonicalization is not yet
>> done. We probably don't need to investigate this bug immediately, but
>> it would be nice if we could make it reproducible without your changes
>> to polly. For
2010 Mar 16
1
[LLVMdev] LoopSimplify : why to separate a loop with multiple backedges into a nested loop ?
Hello,
LoopSimplify try to separate a loop with multiple backedges into a
nested loop (an outer loop and an inner loop).
Naturally, this kind of a loop corresponds to a single loop in source
code. I can see this could be useful for cases described in the
comments in lib/Transforms/Utils/LoopSimplify.cpp, which looks like a
corner case. For most cases,
how does this help ?
Junjie
2009 May 11
0
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
See http://llvm.org/docs/GettingStarted.html#brokengcc and then try building with something OTHER than GCC 4.1.2 .
----- Original Message ----
> From: Nick Johnson <npjohnso at cs.princeton.edu>
> To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
> Sent: Monday, May 11, 2009 3:01:12 PM
> Subject: [LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
>
2017 Oct 14
3
[RFC] Polly Status and Integration
On Fri, Oct 13, 2017 at 5:13 PM, Michael Kruse via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> 2017-10-14 1:29 GMT+02:00 Saito, Hideki via llvm-dev <
> llvm-dev at lists.llvm.org>:
> > I'm also sorry that I'm not commenting on the main part of your RFC in
> this reply. I just want to focus on
> > one thing here.
> >
> >
2017 Jun 30
0
LoopSimplify pass prevents loop unrolling
I will try to reduce a test case for the regression I found and will update.
Thanks,
Balaram
From: Friedman, Eli [mailto:efriedma at codeaurora.org]
Sent: Friday, June 30, 2017 2:54 PM
To: Balaram Makam <bmakam at codeaurora.org>; llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] LoopSimplify pass prevents loop unrolling
On 6/30/2017 11:38 AM, Balaram Makam wrote:
Thanks Eli,
2009 May 11
2
[LLVMdev] Pass Manager hangs with CallGraph and LoopSimplify
Hello,
I have discovered a situation in which the pass manager will infinite
loop. The minimal test case is below this message. The required
structure of these passes is;
Before requires CallGraph
After requires LoopSimplify and Before
I can observe this through opt:
opt -load ./libBug.so -after input.bc -o output.bc
I built my copy of llvm from svn revision 68820 using gcc 4.1.2
Any
2017 Jun 30
2
LoopSimplify pass prevents loop unrolling
Hi All,
In the attached test case there, is an unnested loop with 2 iterations. The
loop latch block is terminated by an unconditional branch, so simplifycfg
folds the almost empty latch block into its predecessor which is the loop
header. This results in an additional backedge in the CFG, so when
LoopRotate pass is called it canonicalizes the loop into a nested loop.
However, now the loop
2012 Feb 28
0
[LLVMdev] Exit Block Transformation in LoopSimplify
I am reading the code for exit block transformation in loop simplify.
I do not fully understand how exit blocks with out-of-loop dominators
are transformed.
In SplitLandingPadPredecessors, all the in-the-loop predecessors of
the exits block are grouped and given to the .loopexit basic block and
the out-of-loop predecessors are grouped and given to the .nonloopexit
basic block. the .loopexit
2017 Jun 30
2
LoopSimplify pass prevents loop unrolling
On 6/30/2017 11:38 AM, Balaram Makam wrote:
>
> Thanks Eli,
>
> I was looking at this code which keeps track of loop headers but is
> checking if the destination of branch is a loop header sufficient?
> This prevents merging empty preheaders into the loop headers as well.
>
There isn't really any reason to collapse preheaders anyway;
LoopSimplify will recreate them,
2017 Jun 30
2
LoopSimplify pass prevents loop unrolling
On 6/30/2017 7:48 AM, Balaram Makam via llvm-dev wrote:
>
> Edit. Predecessor -> successor.
>
> *From:* llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] *On Behalf
> Of *Balaram Makam via llvm-dev
> *Sent:* Friday, June 30, 2017 10:47 AM
> *To:* llvm-dev at lists.llvm.org
> *Subject:* [llvm-dev] LoopSimplify pass prevents loop unrolling
>
> Hi All,
>
>
2013 Sep 30
0
[LLVMdev] [Polly] Move Polly's execution later
At 2013-09-25 18:03:18,"Tobias Grosser" <tobias at grosser.es> wrote:>
>I think this is too early, as most of the canonicalization is not yet
>done. We probably don't need to investigate this bug immediately, but
>it would be nice if we could make it reproducible without your changes
>to polly. For this please run the command with -debug-pass=Arguments