Displaying 20 results from an estimated 9000 matches similar to: "[LLVMdev] Opt pass 'Canonicalize Induction Variables' not working"
2012 Jan 16
0
[LLVMdev] Opt pass 'Canonicalize Induction Variables' not working
On 01/16/2012 01:19 PM, Pieter Custers wrote:
> I am new to LLVM and I've a question about the optimization passes and
> in particular about the loop transformation passes. I've setup the LLVM
> tool-chain with Polly installed.
>
> The following example is causing problems with me:
> http://llvm.org/docs/Passes.html#indvars
>
> The input is a .c file with the
2012 Jan 16
2
[LLVMdev] Opt pass 'Canonicalize Induction Variables' not working
Hello Tobi,
Thank you for the quick reply.
I updated my complete build suite with your script (http://polly.grosser.es/polly.sh). The make-test fails with some errors, the rest went smoothly;
--
Exit Code: 1
Command Output (stderr):
--
LLVM ERROR: Could not resolve external global address: stdout
--
********************
Testing Time: 10.01s
********************
Failing Tests (3):
Polly ::
2012 Jan 16
0
[LLVMdev] Opt pass 'Canonicalize Induction Variables' not working
On 01/16/2012 03:37 PM, Pieter Custers wrote:
> Hello Tobi,
>
> Thank you for the quick reply.
>
> I updated my complete build suite with your script (http://polly.grosser.es/polly.sh). The make-test fails with some errors, the rest went smoothly;
>
> --
> Exit Code: 1
> Command Output (stderr):
> --
> LLVM ERROR: Could not resolve external global address: stdout
2012 Jan 16
1
[LLVMdev] Opt pass 'Canonicalize Induction Variables' not working
Hey Tobi,
My CLang version is very old (1.0.2), I have manually installed the latest version from SVN and I am compiling LLVM again right now. Is it right that CLang is not in the standard LLVM repos (svn checkout http://llvm.org/svn/llvm-project/llvm/trunk) as indicated on http://polly.grosser.es/get_started.html? This are the instructions I followed to install my tools.
I will get back to you
2013 Jul 14
0
[LLVMdev] Analysis of polly-detect overhead in oggenc
Tobi,
it looks like this code is the problem:
for (std::vector<Value *>::iterator PI = Pointers.begin(),
PE = Pointers.end();
;) {
Value *V = *PI;
if (V->getName().size() == 0)
OS << "\"" << *V << "\"";
else
OS << "\"" << V->getName() <<
2013 Jul 14
5
[LLVMdev] Analysis of polly-detect overhead in oggenc
At 2013-07-14 13:20:42,"Tobias Grosser" <tobias at grosser.es> wrote:
>On 07/13/2013 09:18 PM, Star Tan wrote:
>>
>>
>> At 2013-07-14 02:30:07,"Tobias Grosser" <tobias at grosser.es> wrote:
>>> On 07/13/2013 10:13 AM, Star Tan wrote:
>>>> Hi Tobias,
>>>
>>> Hi Star,
>[...]
>>> Before we write a
2011 Oct 07
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
I add also the output of these commands:
[hades at artemis examples]$ ./compile_ex.sh super_simple_loop
Printing analysis 'Polly - Detect Scops in functions' for function 'main':
[hades at artemis examples]$
modifying it in :
#include <stdio.h>
int main()
{
int A[1024];
int j, k=10;
for (j = 0; j < 1024; j++)
A[j] = k;
2011 Oct 08
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
On 10/07/2011 03:43 PM, Marcello Maggioni wrote:
> 2011/10/7 Marcello Maggioni<hayarms at gmail.com>:
>> Hi,
>>
>> for example this loop:
>>
>> #include<stdio.h>
>>
>> int main()
>> {
>> int A[1024];
>> int j, k=10;
>> for (j = 1; j< 1024; j++)
>> A[j] =
2016 Aug 25
3
Canonicalize induction variables
I just subscribed this group. This is my first time to post a question
(not sure if this is a right place for discussion) after I have a brief
look at LLVM OPT (dev trunk). I would expect loop simplification and
induction variable canonicalization pass (IndVarSimplify pass) should be
able to convert the following loops into a simple canonical form, i.e.,
there is a canonical induction variable
2016 Aug 25
4
Canonicalize induction variables
But even for a very simple loop:
int test1 (int *x, int *y, int *z, int k) {
int sum = 0;
for (int i = 10; i < k; i++) {
z[i] = x[i] / y[i];
}
return sum;
}
The initial value of induction variable is not zero after compiling with
-O3 -mcpu=power8 x.cpp -S -c -emit-llvm -fno-unroll-loops (see bottom of
the email for IR)
Also I can write somewhat more complicated loop where step
2011 Oct 22
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
I was trying the new feature you introduce about printing out the
graphs, so I updated my version of llvm/clang/polly synchronizing them
to the last version, but I get this error launching clang (also , I
recently switched to MacOS X for development):
$ clang not_so_simple_loop.c -O3 -Xclang -load -Xclang
${PATH_TO_POLLY_LIB}/LLVMPolly.dylib -mllvm -enable-polly-viewer
-mllvm -enable-iv-rewrite
2011 Oct 03
4
[LLVMdev] How to make Polly ignore some non-affine memory accesses
Hi Tobias,
thanks for the answer. I'll try to give a look to the code you pointed
me to , and I'll try to make the modification myself. I'm new to LLVM
and Polly, but the code of both seem clean and understandable, so I
hope to be able to do it myself. In case I'll ask here for support :)
Marcello
2011/10/1 Tobias Grosser <tobias at grosser.es>:
> On 10/01/2011 03:26
2013 Jul 14
0
[LLVMdev] Analysis of polly-detect overhead in oggenc
I have found that the extremely expensive compile-time overhead comes from the string buffer operation for "INVALID" MACRO in the polly-detect pass.
Attached is a hack patch file that simply remove the string buffer operation. This patch file can significantly reduce compile-time overhead when compiling big source code. For example, for oggen*8.ll, the compile time is reduced from
2013 Jul 14
2
[LLVMdev] Analysis of polly-detect overhead in oggenc
Hi Sebastian,
Yes, you have pointed an important reason. If we comment this source code you have listed, then the compile-time overhead for oggenc*8.ll can be reduced from 40.5261 ( 51.2%) to 20.3100 ( 35.7%).
I just sent another mail to explain why polly-detect pass leads to significant compile-time overhead. Besides the reason you have pointed, another reason is resulted from those string
2011 Oct 23
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
On 10/22/2011 08:41 AM, Marcello Maggioni wrote:
> I was trying the new feature you introduce about printing out the
> graphs, so I updated my version of llvm/clang/polly synchronizing them
> to the last version, but I get this error launching clang (also , I
> recently switched to MacOS X for development):
>
> $ clang not_so_simple_loop.c -O3 -Xclang -load -Xclang
>
2012 Oct 31
3
[LLVMdev] piping into lli broken on darwin
While testing llvm/polly svn on x86_64-apple-darwin10/11/12, I noticed that three darwin
specific polly-test regressions exist. At least part of these failures appear to be due
to lli on darwin not accepting piped input such that the test...
opt -load /sw/src/fink.build/llvm32-3.2-0/llvm-3.2/build/lib/LLVMPolly.so
-basicaa -polly-prepare -polly-region-simplify -O3
2013 Aug 15
4
[LLVMdev] [Polly] Analysis of extra compile-time overhead for simple nested loops
Hi all,
I have investigated the 6X extra compile-time overhead when Polly compiles the simple nestedloop benchmark in LLVM-testsuite. (http://188.40.87.11:8000/db_default/v4/nts/31?compare_to=28&baseline=28). Preliminary results show that such compile-time overhead is resulted by the complicated polly-dependence analysis. However, the key seems to be the polly-prepare pass, which introduces
2017 Jul 01
2
loop induction variables at IR level
Hi,
I was looking at trying to get loop induction variable at IR level. LLVM
documentation mentioned indvars pass and getCanonicalInductionVariable() to
get them, I tried running the indvars pass and then a custom pass which
iterates through loops and uses the function to obtain variable for a
simple loop program. But the API returns null. I also read in similar posts
that the indvars pass is not
2011 Jan 19
2
[LLVMdev] induction variable computation not preserving scev
On 19 January 2011 13:01, Dan Gohman <gohman at apple.com> wrote:
>
> On Jan 18, 2011, at 12:32 AM, Nick Lewycky wrote:
>
> > Hi,
> >
> > I tracked down a bug in indvars where we weren't updating SCEV properly.
> The attached patch shows the fix to this bug with a testcase, but it also
> causes five new test failures.
>
> Indvars isn't
2003 Sep 09
2
[LLVMdev] induction variables
Hello LLVM,
Can you suggest a good way to use the loops and induction variable
passes to map loop exiting BasicBlocks to InductionVariables. That is,
can we use these tools to identify the loop condition.
What i have tried
Function Pass:
foreach BB
if(terminal is loop exit of containing loop)
trace back to instruction producing the cond that the
branch branches on -