Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who is Online
10 user(s) are online (9 user(s) are browsing Forum)

Members: 0
Guests: 10

more...


Browsing this Thread:   1 Anonymous Users




« 1 (2) 3 4 5 6 »


Re: Bounty for LLVM port, Phase 1
#46
Home away from home
Home away from home


See User information
Quote:

Kalamatee wrote:
Quote:

SamuraiCrow wrote:
There are 3 options: Interpreter, JIT, and static compilation. The most common one is static compilation.


Common in what respect? I wouldve thought the most common use of llvm is via gallium which doesnt use static compilation afaik.

Common in the respect that the most common use of LLVM is in a C/C++ cross compiler. Gallium will come soon also but it uses both static and JIT compilation: The static one to convert from shaders into bitcode with heavy optimization, and the JIT to execute the bitcode on non-shader capable graphics hardware. (Or at least that's how Mesa does it.)
Quote:

Quote:

There will have to be two formats becuase the bitcode files do not do endian swapping.


I dont quite follow why this would be necessary if the underlying code already adapts to either?

It does endian-specific optimizations that cannot be easily shut off.
Quote:

Quote:

It's not only possible, but Google is already starting to do this bitcode variant as part of its PNaCl browser app platform. Once they've released the source code for that, it should be a simpler matter to use their backend with the AROS libraries and kernal.


Im not sure why it would increase flexibility. Conveniance - yes since you only need to obtain one set of binaries for all supported platforms rather than binaries for specific platforms, but does it make aros more flexable? no I wouldnt say so ..


And im not entirely sure how tthe google browser stuff would relate to AROS' kernel.


It means that in the same way that AROS 68k is hotwired to load both ELF binaries for consistency and HUNK binaries for Amiga compatibility, a third option could be placed on the table based on PNaCl's cross-platform ABI's to allow LLVM bitcode to load in so that it would not only be cross-architecture, but allow closed-source binaries to be used with all flavors of AROS simultaneously instead of having to build a separate application code for each.

Also, the bitcode format supports a several macro styles that could be used to shrink binaries. Maintaining types called "opaque" types allows a low-level template functionality could be used such that only one instance of a template in C++ would be stored in the bitcode and it would be expanded at load-time, possibly by a slave processor. Another style of macros is the force-inline linkage type for a function. Lastly, the third style of macro is the alias which allows multiple variable names or function names to point to the same definition in memory.

Posted on: 2011/9/29 23:24
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#45
Home away from home
Home away from home


See User information
Quote:

SamuraiCrow wrote:
Quote:

christoph wrote:
So.. If I understand right, LLVM can create low level byte code which will be used for creating a native binary finally in the last steps of the linking process.

But it should also be possible to use this byte code to execute it on some sort of runtime or just in time compiler?!?

There are 3 options: Interpreter, JIT, and static compilation. The most common one is static compilation.


Common in what respect? I wouldve thought the most common use of llvm is via gallium which doesnt use static compilation afaik.

Quote:

Quote:

The idea is to have some possibility to create an "universal" app that can be loaded and executed by AROS independent from the platform. While AROS runs on multiple Hardware this would be nice. In my idea this is really Ami.. (sorry) "AROS Anywhere".

There will have to be two formats becuase the bitcode files do not do endian swapping.


I dont quite follow why this would be necessary if the underlying code already adapts to either?

Quote:

Quote:

Don't get me wrong, I don't think we should go away from native apps on a system like AROS. But it would highly increase flexibility..

What do you think? Is this possible?

It's not only possible, but Google is already starting to do this bitcode variant as part of its PNaCl browser app platform. Once they've released the source code for that, it should be a simpler matter to use their backend with the AROS libraries and kernal.


Im not sure why it would increase flexibility. Conveniance - yes since you only need to obtain one set of binaries for all supported platforms rather than binaries for specific platforms, but does it make aros more flexable? no I wouldnt say so ..


And im not entirely sure how tthe google browser stuff would relate to AROS' kernel.

Quote:

PNaCl is targetted toward ARM, x86, and AMD64 targets and will run equally well on each of them. We'll need a second target to allow development to work on 68k and PPC and any other big-endian platform that AROS decides to allow.

Does this answer your questions?

Posted on: 2011/9/29 22:22
Resized Image
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#44
Home away from home
Home away from home


See User information
Are there any more questions?

Posted on: 2011/9/29 21:01
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#43
Home away from home
Home away from home


See User information
Quote:

christoph wrote:
So.. If I understand right, LLVM can create low level byte code which will be used for creating a native binary finally in the last steps of the linking process.

But it should also be possible to use this byte code to execute it on some sort of runtime or just in time compiler?!?

There are 3 options: Interpreter, JIT, and static compilation. The most common one is static compilation.
Quote:

The idea is to have some possibility to create an "universal" app that can be loaded and executed by AROS independent from the platform. While AROS runs on multiple Hardware this would be nice. In my idea this is really Ami.. (sorry) "AROS Anywhere".

There will have to be two formats becuase the bitcode files do not do endian swapping.
Quote:

Don't get me wrong, I don't think we should go away from native apps on a system like AROS. But it would highly increase flexibility..

What do you think? Is this possible?

It's not only possible, but Google is already starting to do this bitcode variant as part of its PNaCl browser app platform. Once they've released the source code for that, it should be a simpler matter to use their backend with the AROS libraries and kernal.

PNaCl is targetted toward ARM, x86, and AMD64 targets and will run equally well on each of them. We'll need a second target to allow development to work on 68k and PPC and any other big-endian platform that AROS decides to allow.

Does this answer your questions?

Posted on: 2011/9/26 16:49
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#42
Quite a regular
Quite a regular


See User information
So.. If I understand right, LLVM can create low level byte code which will be used for creating a native binary finally in the last steps of the linking process.

But it should also be possible to use this byte code to execute it on some sort of runtime or just in time compiler?!?

The idea is to have some possibility to create an "universal" app that can be loaded and executed by AROS independent from the platform. While AROS runs on multiple Hardware this would be nice. In my idea this is really Ami.. (sorry) "AROS Anywhere".

Don't get me wrong, I don't think we should go away from native apps on a system like AROS. But it would highly increase flexibility..

What do you think? Is this possible?

Posted on: 2011/9/26 15:49
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#41
Home away from home
Home away from home


See User information
Yes ; )

Posted on: 2011/9/23 20:51
www.aeros-os.org AEROS for Raspberry Pi
www.aros-broadway.de Native AROS for i386 and m68k
www.indiego-Gaming.com indieGO! The AppStore for all amigans
www.ares-shop.eu
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#40
Home away from home
Home away from home


See User information
So, is the bounty project ready to be closed? Please provide feedback.

Posted on: 2011/9/23 20:08
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#39
Home away from home
Home away from home


See User information
For me it is ok! Any suggestions for a phase II bounty description?

Posted on: 2011/9/13 17:19
www.aeros-os.org AEROS for Raspberry Pi
www.aros-broadway.de Native AROS for i386 and m68k
www.indiego-Gaming.com indieGO! The AppStore for all amigans
www.ares-shop.eu
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#38
Home away from home
Home away from home


See User information
I made a new attempt with this script:

./aros-clang -ccc-host-triple i686-pc-aros \
-I /home/mazze/projects/fullaros/aros-linux-i386-v0-dbg/bin/linux-x86_64/tools/crosstools/lib/gcc/i386-aros/4.2.4/include \
-I /home/mazze/projects/aros-linux-i386-v0-dbg/bin/linux-i386/AROS/Development/include -m32 hellostd.c -c

./aros-clang -ccc-host-triple i686-pc-aros -Wno-pointer-sign \
-I /home/mazze/projects/fullaros/aros-linux-i386-v0-dbg/bin/linux-x86_64/tools/crosstools/lib/gcc/i386-aros/4.2.4/include \
-I /home/mazze/projects/aros-linux-i386-v0-dbg/bin/linux-i386/AROS/Development/include -m32 hellodos.c -c

i386
-aros-gcc hellodos.o -o hellodos
i386
-aros-gcc hellostd.o -o hellostd


After adding an additional include search path both hellodos (PutStr) and hellostd (puts) were compiling. I have done the linking with the cross-compiler. Both binaries were working.

About the bounty:

Quote:

Get the LLVM code generator to generate code according to the x86 ABI for AROS.


I haven't checked the code quality but simple test cases are working.

Quote:

It must work under currently supported operating systems, such as Linux x86 as a cross-compiler.


Linux x86_64 cross-compiler is working. I can't decide if the need for an external linker meets the bounty requirements. Pascal has paid the largest bounty sum, so I'd say it's up to him.

Posted on: 2011/9/12 20:01
AROS - Make code, not war :knuddel:
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 


Re: Bounty for LLVM port, Phase 1
#37
Home away from home
Home away from home


See User information
Hi everyone, please test Sidewinder?s work and provide feedback regarding whether the bounty requirements have been met.

Thank you.

Posted on: 2011/9/12 18:34
 Top  Twitter  Facebook  Google Plus  Linkedin  Del.icio.us  Digg  Reddit  Mr. Wong 




« 1 (2) 3 4 5 6 »



You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
4462
2 nikolaos
nikolaos
4206
3 magorium
magorium
4095
4 phoenixkonsole
phoenixkonsole
3942
5 deadwood
deadwood
2917
6 ncafferkey
ncafferkey
2810
7 mazze
mazze
2222
8 Kalamatee
Kalamatee
2212
9 clusteruk
clusteruk
2114
Powered by XOOPS © 2001-2025 The XOOPS Project