Displaying 20 results from an estimated 7000 matches similar to: "[LLVMdev] Question about writing a pass"
2005 Feb 22
5
[LLVMdev] Area for improvement
I noticed that fourinarow is one of the programs in which LLVM is much
slower than GCC, so I decided to take a look and see why that is so.
The program has many loops that look like this:
#define ROWS 6
#define COLS 7
void init_board(char b[COLS][ROWS+1])
{
int i,j;
for (i=0;i<COLS;i++)
for (j=0;j<ROWS;j++)
b[i][j]='.';
2005 Feb 22
0
[LLVMdev] Area for improvement
On Mon, 21 Feb 2005, Jeff Cohen wrote:
> I noticed that fourinarow is one of the programs in which LLVM is much slower
> than GCC, so I decided to take a look and see why that is so. The program
> has many loops that look like this:
>
> #define ROWS 6
> #define COLS 7
>
> void init_board(char b[COLS][ROWS+1])
> {
> int i,j;
>
> for
2005 Feb 22
2
[LLVMdev] Area for improvement
Sorry, I thought I was running selection dag isel but I screwed up when
trying out the really big array. You're right, it does clean it up
except for the multiplication.
So LoopStrengthReduce is not ready for prime time and doesn't actually
get used?
I might consider whipping it into shape. Does it still have to handle
getelementptr in its full generality?
Chris Lattner wrote:
2005 Feb 22
0
[LLVMdev] Area for improvement
When I increased COLS to the point where the loop could no longer be
unrolled, the selection dag code generator generated effectively the
same code as the default X86 code generator. Lots of redundant
imul/movl/addl sequences. It can't clean it up either. Only unrolling
all nested loops permits it to be optimized away, regardless of code
generator.
Jeff Cohen wrote:
> I noticed
2005 Apr 29
2
[LLVMdev] IntervalPartition bug?
Hi,
it looks like the IntervalPartition does not work as expected when constructed
from another interval partition.
Say, I have built an interval partition from function, and the first interval
has two basic blocks. When I create second order partition and print all
intervals, the second basic block of the function is not seen anywhere.
Here's what's going on in IntervalIterator.h:
2003 Dec 22
1
[LLVMdev] How to explain?
hi,
I want to know what is exact meaning in the following code.
target endian--
%struct..TorRec--
%struct.TorRec--
implementation--
;<sbyte>[#uses=1/0]--
how to explain them in details?
Does anyone give me a guide?
thanks
yueqiang
--------------------------------------------------------------
target endian = little
target pointersize = 32
%struct..TorRec = type { int, void ()* }
2005 Feb 22
0
[LLVMdev] Area for improvement
On Mon, 21 Feb 2005, Jeff Cohen wrote:
> Sorry, I thought I was running selection dag isel but I screwed up when
> trying out the really big array. You're right, it does clean it up except
> for the multiplication.
>
> So LoopStrengthReduce is not ready for prime time and doesn't actually get
> used?
I don't know what the status of it is. You could try it out,
2005 Jun 09
1
[LLVMdev] gmake check failures on FreeBSD 5.4
FAIL:
/usr/home/jeffc/llvm/obj/../test/Regression/Transforms/InstCombine/2004-11-27-SetCCForCastLargerAndConstant.ll:
%Y = cast sbyte %SB to uint ; <uint> [#uses=1]
%Y = cast sbyte %SB to int ; <int> [#uses=1]
%Y = cast sbyte %SB to int ; <int> [#uses=1]
%Y = cast ubyte %SB to uint ; <uint> [#uses=1]
%Y = cast ubyte %SB to
2004 May 05
0
[LLVMdev] Not allowed to reuse variables?
On Wed, May 05, 2004 at 03:35:46PM +0200, Anders Alexandersson wrote:
> %tmpFunction = load int ()** %puts_kernelPTR
> ...
> %tmpFunction = load int ()** %puts_kernelPTR
>
> generates
>
> Redefinition of value named 'tmpFunction' in the 'int () *' type plane!
>
> Is it not allowed to reuse variables? Is there some way to do it?
LLVM uses the Static
2004 May 05
2
[LLVMdev] Not allowed to reuse variables?
Hello!
I am having trouble with identifiers:
%tmpFunction = load int ()** %puts_kernelPTR
...
%tmpFunction = load int ()** %puts_kernelPTR
generates
Redefinition of value named 'tmpFunction' in the 'int () *' type plane!
Is it not allowed to reuse variables? Is there some way to do it?
Anders
----------------------------------------------------------------
Anders
2007 Aug 25
2
[LLVMdev] constructing 'for' statement from LLVM bitcode
Hello, guys.
I am trying to construct higher-level 'for' from the low-level LLVM bitcode(ver 1.9).
It's partly successful thanks to David A. Greene's advice suggested to use Control Dependence Graph(CDG).
I could find which BB contributes to form which loop with CDG.
For example, for this simple function:
-----------------------------------------------------------
void bsloop(int
2005 Mar 21
0
[LLVMdev] Recursive Types using the llvm support library
On Wed, Mar 09, 2005 at 04:05:32PM +0300, Vladimir Merzliakov wrote:
> >>Is assert(!NewSTy->isAbstract()) must pass after this line?
> >
> >In this case, yup.
> >
> I create test program and assert failed in it:
>
> { \2 *, sbyte * }
How do I decode the \2 in this? I am creating types through this
interface and I get quite a mess seen below. And this is
2004 Mar 31
0
[LLVMdev] A question about induction variables
On Wed, 31 Mar 2004, Vladimir Prus wrote:
> I've just downloaded the latest release of LLVM, and playing with the
> following simple example:
>
> int main()
> {
> int r(0);
> for (int i = 0; i < 100; ++i)
> r += i;
> ;
> return r;
> }
When I compiled it, I got the following LLVM code:
int %main() {
entry:
call void %__main( )
2006 Jun 15
2
[LLVMdev] problem with loopinfo
I did run the indvars pass, but it seemed that it didn't work.
-Wei
----- Original Message -----
From: "Chris Lattner" <sabre at nondot.org>
To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
Sent: Thursday, June 15, 2006 3:35 PM
Subject: Re: [LLVMdev] problem with loopinfo
> On Thu, 15 Jun 2006, Wei Jiang wrote:
>> hi,
>> The
2004 Sep 28
1
[LLVMdev] How could I hide the visible string?
Hi,
Is there a way to modify the string such as char a or char b? Could I use the way like "Replace an instruction with another Value" in Programm Manual? In fact, what I am interested in is string with visible expression, not all string, and I am trying to hide the orignal string by using simple way like XOR..
Is there a way to reorder the basic blocks?
Thanks.
Qiuyu
C Source
2006 Jun 15
0
[LLVMdev] problem with loopinfo
On Thu, 15 Jun 2006, Wei Jiang wrote:
> hi,
> The loopinfo pass failed to recognize the Tripcount of a simple program constructed by me, can you help me to figure out why this happened? Thanks.
> The C program and corresponding .ll files are shown below. I used llvm1.7 to develop my own pass, and want to use the loop information.
What passes are you running before your pass? trip
2006 Jun 15
0
[LLVMdev] problem with loopinfo
On Thu, 15 Jun 2006, Wei Jiang wrote:
> I did run the indvars pass, but it seemed that it didn't work.
Then you'll have to trace through and find out why it's failing...
-Chris
> ----- Original Message ----- From: "Chris Lattner" <sabre at nondot.org>
> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Sent: Thursday, June 15,
2004 Apr 14
1
[LLVMdev] Linking strncpy
Hi,
I'm working on a CS326 compiler project, and I'm having some problems
using string functions. Some LLVM programs produced are either
aborting or giving incorrect results; however, if I disassemble the
LLVM bytecode and recompile with GCC, everything works fine.
I encountered the following error when running lli with
'-force-interpreter' option:
"Tried to execute an
2007 Feb 05
1
[LLVMdev] Misc optimization issue
This is from 'early JIT tests' thread on comp.lang.misc.
Given :-
int ltst(int x)
{
int i, j;
j=0;
for(i=0; i<x; i++)j++;
return(j);
}
This is from the online LLVM compiler. AND It does not seem to optimize it down !
; ModuleID = '/tmp/webcompile/_24843_0.bc'
target datalayout = "e-p:32:32"
target endian = little
target pointersize = 32
target triple =
2006 Jun 15
2
[LLVMdev] problem with loopinfo
hi,
The loopinfo pass failed to recognize the Tripcount of a simple program constructed by me, can you help me to figure out why this happened? Thanks.
The C program and corresponding .ll files are shown below. I used llvm1.7 to develop my own pass, and want to use the loop information.
-Wei
Test.c:
#include "stdio.h"
#define N 40
void func1() {
int a[N];
int i,j;
for