Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] LLVM assembly without basic block"
2007 Jun 29
1
[LLVMdev] LLVM assembly without basic block
Thank you for reminding me the notion of the basic block.
Of course, I know all the assembly takes the form of BBs and is divided into units of BB.
OK. It looks better for me to explain what I wanted to do more clear from the first.
Actually, I am working on emitting out an assembly of VM by using LLVM. LLVM assembly looks similar with this VM assembly except BB. The VM assembly does not have the
2008 Jun 11
4
[LLVMdev] Query on optimization and tail call.
Hi,
While playing around on the LLVM, I tried this code:
int sum(int n)
{
if (n == 0)
return 0;
else
return n + sum(n-1);
}
and this is what "llvm-gcc -O2" gave me:
define i32 @sum(i32 %n) nounwind {
entry:
%tmp215 = icmp eq i32 %n, 0 ; <i1> [#uses=1]
br i1 %tmp215, label %bb10, label %tailrecurse.bb10_crit_edge
tailrecurse.bb10_crit_edge: ; preds =
2007 May 09
2
[LLVMdev] 2.0 Release Process
The release branch has been created and the llvm-gcc mirror updated
(thanks Bill!). I will be doing some preliminary testing before I request
the help of the community to test the release.
During this time, I ask that developers only commit documentation changes
to the release branch and email the list with any bug fixes that need to
be merged into the release branch. Bug fixes have to be
2010 Nov 23
1
[LLVMdev] Unrolling loops into constant-time expressions
Hello,
I've come across another example:
I'm compiling with
clang -S -emit-llvm -std=gnu99 -O3
clang version 2.9 (trunk 118238)
Target: x86_64-unknown-linux-gnu
Thread model: posix
I take the code:
int loops(int x) {
int ret = 0;
for(int i = 0; i < x; i++) {
for(int j = 0; j < x; j++) {
ret += 1;
}
}
return ret;
}
and the
2007 Jul 04
1
[LLVMdev] a strange emit of llvm-g++
I tested a simple function shown as follows for for llvm-g++:
-------------------------------------------------------------
void f_loop(long* c, long sz) {
long i;
for (i = 0; i < sz; i++) {
long offset = i * sz;
long* out = c + offset;
out[i] = 0;
}
}
-------------------------------------------------------------
LLVM assembly was emitted out as follows:
2007 May 10
0
[LLVMdev] 2.0 Release Process
Le Tue, May 08, 2007 at 10:17:41PM -0700, Tanya M. Lattner écrivait/wrote:
>
> Here is the schedule:
>
> May 7th - Release branch created. Developers should begin reviewing
> all documentation.
>
> May 14th - Tar balls and binaries are released for general testing. I'll
> also need volunteers to create additional llvm-gcc binaries that I have
> not provided.
2010 Sep 10
1
[LLVMdev] Missing Optimization Opportunities
Hi,
I'm using LLVM 2.7 right now, and I found "opt -std-compile-opts" has
missed some opportunities for optimization:
define void @spa.main() readonly {
entry:
%tmp = load i32* @dst-ip ; <i32> [#uses=3]
%tmp1 = and i32 %tmp, -16777216 ; <i32> [#uses=1]
%tmp2 = icmp eq i32 %tmp1, 167772160 ; <i1> [#uses=2]
2007 May 03
3
[LLVMdev] which g++ to compile LLVM CVS on Linux/AMD64?
Hello All,
What version of g++ is usable to compile the latest LLVM CVS snapshot on a
Linux/x86-64 (AMD64) Debian/ Sid or Etch plateform?
What compiler do LLVM dzevelopers use to compile LLVM on Linux/X86-64
systems? IKt seems that most versions of g++ fail to compile LLVM and that
some others compile it wrongly (producing buggy code)?
Why can't g++-4.1 be used?
FWIW, the latest gcc
2007 Jun 29
1
[LLVMdev] LLVM assembly without basic block
Thank you for this reply.
If so, is there any way to merge basic blocks into a single one?
Thanks,
Seung J. Lee
---- Original message ----
>Date: Fri, 29 Jun 2007 22:27:38 +0200
>From: Basile STARYNKEVITCH <basile at starynkevitch.net>
>Subject: Re: [LLVMdev] LLVM assembly without basic block
>To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu>
>
>Seung
2007 May 12
0
[LLVMdev] reading a module from a memory string (BitCode)
On Sat, 12 May 2007, Basile STARYNKEVITCH wrote:
> with the latest LLVM (almost 2.0 CVS) what is the right way to read a module
> from a byte array fetched from a database?
The bitcode reader will read from any MemoryBuffer object. There are a
variety of static methods on MemoryBuffer to create them from files,
stdio, and memory. If your buffer is in memory, just create a
memorybuffer
2007 May 03
1
[LLVMdev] which g++ to compile LLVM CVS on Linux/AMD64?
Le Thu, May 03, 2007 at 09:36:22AM -0700, Chris Lattner écrivait/wrote:
> On Thu, 3 May 2007, Basile STARYNKEVITCH wrote:
> >
>
> > FWIW, the latest gcc snapshot from yesterday gcc version 4.3.0 20070501
> > (experimental) fail to compile latest LLVM (with compile errors!).
>
> Please file an llvm bug report with these errors. It may be that we are
> doing
2008 Jan 12
1
[LLVMdev] Labels
I'm attempting to modify a parser generator to emit LLVM code instead of C.
So far the experience has been trivial, but I am now running into an error
regarding labels that I can't seem to solve.
Situation 1: A label is used immediately after a void function call (l6 in
this case):
<snip>
%tmp26 = load i32* @yybegin, align 4
%tmp27 = load i32* @yyend, align 4
call void
2007 May 03
0
[LLVMdev] which g++ to compile LLVM CVS on Linux/AMD64?
On Thu, 3 May 2007, Basile STARYNKEVITCH wrote:
>
> What version of g++ is usable to compile the latest LLVM CVS snapshot on a
> Linux/x86-64 (AMD64) Debian/ Sid or Etch plateform?
Please look here:
http://llvm.org/docs/GettingStarted.html#brokengcc
I'd suggest late versions of GCC 4.0.x. The 4.1 series has had numerous
problems compiling LLVM on x86-64, though some people have
2007 May 12
3
[LLVMdev] reading a module from a memory string (BitCode)
Hello,
with the latest LLVM (almost 2.0 CVS) what is the right way to read a module
from a byte array fetched from a database?
I thought that I could subclass llbm::module to add my own fields
(typically, a MySQL id number) and then parse it as bitcode, but I am stuck,
since apparently the only way to parse bitcode is to use a BitcodeReader
then calling materializeModule gives a fresh llvm
2009 May 01
6
[LLVMdev] open source multithreaded garbage collector suitable for LLVM applications?
Hello All
Does any know about some opensource multithread-compatible (or
concurrent) garbage collector library, if possible suitable for LLVM?
(I mean that I want several mutator threads; the collector can be
stoptheworld or concurrent ....)
H.Boehm's conservative GC is multithread compatible, but seems quite
slow (allocation is about the time of a C malloc).
And it is well known that
2007 Oct 22
2
[LLVMdev] Q: missing -fPIC in llvmc?
Hello All,
On a Debian/AMD64 host I am surprised that there is apparently no way to
generate position independent code in shared object (i.e. to output
files which are easy dlopen-able without pain)?
I probably missed something obvious, but what?
I want to compile LLVM assembly source code -suitably generated- into
.so as directly as possible...
Regards
--
Basile STARYNKEVITCH
2004 Nov 07
2
[LLVMdev] LLVM for JIT only use
Dear All,
I downloaded the latest CVS of llvm
I want to try to use LLVM only for JIT only use (generating code in
memory for x86 and, when available PowerPC [32bits])
How do I ./configure to avoid being asked about llvmgcc, which, in my
very partial understanding, is only used to parse C code... If I
understand correctly what Chris Lattner emailed me, LLVM uses only GCC
frontend for C & C++
2008 Jul 20
1
[LLVMdev] generating a shared object from a single *.ll (LLVM) source?
Hello
(my machine is a Debian/Sid/x86-64/Core2)
Assuming I have one C source file chello.c, to compile it into a
dynamically loadable thru dlopen shared object, I can run
gcc -fPIC -shared -O chello.c -o chello.so
I thought that, assuming I have one llvm source ehello.ll, the
equivalent would be
llvmc2 -opt ehello.ll -o ehello.so
but it is not that simple.
Any clues ?
May I also
2008 Dec 09
1
[LLVMdev] scalar-evolution + indvars fail to get the loop trip count?
Hi,
Seems pass scalar-evolution+indvars fail to get the loop trip count of the
following case:
int foo(int x, int y, int lam[256], int alp[256]) {
int i;
int z = y;
for (i = 255; i >= 0; i--) {
z += x;
lam[i] = alp[i];
}
return z;
}
The final optimized ll code is :
define i32 @foo(i32 %x, i32 %y, i32* %lam, i32* %alp) nounwind {
entry:
br label %bb
bb:
2004 Nov 07
0
[LLVMdev] LLVM for JIT only use
On Sun, Nov 07, 2004 at 10:33:09PM +0100, Basile STARYNKEVITCH wrote:
> I want to try to use LLVM only for JIT only use (generating code in
> memory for x86 and, when available PowerPC [32bits])
Cool! FYI, the PowerPC JIT needs work to make it operational, but the
x86 JIT is good to go.
> How do I ./configure to avoid being asked about llvmgcc, which, in my
> very partial