I'm working on it..

Moderator: Hoernchen

Re: I'm working on it..

Postby Hoernchen » Thu May 09, 2013 9:59 am

See http://llvm.org/docs/DeveloperPolicy.html#license and http://llvm.org/docs/FAQ.html#can-i-mod ... the-source so no, I do not not have to share anything unless I want to.
Hoernchen
 
Posts: 41
Joined: Mon Dec 17, 2012 3:22 am

Re: I'm working on it..

Postby philtor » Fri May 10, 2013 10:00 pm

@Hoernchen: Thanks for the link to the github repo. Will take a look.

@theover: The gnu compiler collection is certainly venerable. But I think in the longrun we'll see more frontend languages targetting LLVM. Also, from what I can tell, it's much easier to create optimization passes for LLVM than it is for gcc. There are already passes out there that can do parallelization and they could be adapted for targetting the Epiphany architecture.
philtor
 
Posts: 10
Joined: Mon Dec 17, 2012 3:29 am

Re: I'm working on it..

Postby 9600 » Tue May 14, 2013 3:58 pm

yabin wrote:Good News! Thank you Hoernchen!

Hoernchen provided a very clear todo list in the post. It's time for the community to discuss how others can contribute to the llvm/clang toolchain for Epiphany based on Hoernchen's work. I list some topics here (many from Hoernchen's post, just make it clear to further discussion).

1. write test cases for the backend and report bugs
2. clang support
3. Elf writer
4. MCJIT support

Any others we can start to do?


This sounds like a good start. Is there a particular area that you are interested in working on?

It would be great if we could maintain momentum and build on the work that Hoernchen has done. I appreciate that having real hardware is going to be a big motivator, but I'm guessing work could be done using the simulator.

Cheers,

Andrew
Andrew Back (a.k.a. 9600 / carrierdetect)
User avatar
9600
 
Posts: 997
Joined: Mon Dec 17, 2012 3:25 am

Re: I'm working on it..

Postby yabin » Wed May 15, 2013 1:19 am

9600 wrote:This sounds like a good start. Is there a particular area that you are interested in working on?

I tested the backend last week and try to understand Epiphany architecture in details.
If others also have tried the backend, they should know there are several source lines to be patched to work with llvm trunk (r181851).

The clang support is not a big deal since we can mimic the AArch support in clang as Hoernchen has done in the llvm backend. I'll do it.
Then I will challenge the other parts.

9600 wrote:It would be great if we could maintain momentum and build on the work that Hoernchen has done. I appreciate that having real hardware is going to be a big motivator, but I'm guessing work could be done using the simulator.

Yes, the test work can be done using the simulator, as well as the elf writer part I think. When we dive into compiler optimization and performance tuning stuff, it's better to have a real hardware to play with.
yabin
 
Posts: 10
Joined: Fri Mar 15, 2013 2:04 am

Re: I'm working on it..

Postby Hoernchen » Wed May 15, 2013 10:13 am

I'd rather stick to 10f7f2a222d0e83dc0c33ad506a7686190c2f7a2 for the time being instead of chasing trunk unless we need really something newer, because the latter led to a bit of breakage, D149 and D150 are a bit touchy.
Hoernchen
 
Posts: 41
Joined: Mon Dec 17, 2012 3:22 am

Re: I'm working on it..

Postby yabin » Wed May 15, 2013 1:03 pm

Hoernchen wrote:I'd rather stick to 10f7f2a222d0e83dc0c33ad506a7686190c2f7a2 for the time being instead of chasing trunk unless we need really something newer,

Chasing trunk is apprently not a must. But I see two points here:
1. what if we use the backend with some external tools (such as Polly optimization tool) which is not compatible with the specific llvm revision. it's always much more convenient to keep all the stuff up-to-date, llvm, clang and others, to avoid weird make errors.
2. along with the popularity of Epiphany , if the backend is mature enough, may have the opportuniry to persuade someone in authority from the llvm community to accept Epiphany backend to be integrated into llvm officially. It is easier to keep it up-to-date progressively with llvm trunk.

Hoernchen wrote:because the latter led to a bit of breakage, D149 and D150 are a bit touchy.

can you give me a test case about this?

Thanks!
yabin
 
Posts: 10
Joined: Fri Mar 15, 2013 2:04 am

Re: I'm working on it..

Postby Hoernchen » Wed May 15, 2013 4:12 pm

Well, 1) makes sense, but while i do appreciate the odd polyhedral optimization as much as the next guy as long as we're still working on basic stuff making external tools happy are still kind of at the bottom of the to-do list.
2) is a long way off, so of course eventually it needs to be updated, but at the moment chasing trunk means just running into new issues and fixing stuff that is not immediately revelant to the backend.

My versions of D149/D150 needed quite a few changes to work with my current version of llvm, you can't just apply the vanilla ones from the review website to the current master/trunk, and since they mess with a lot of internal stuff I'd expect them to keep breaking.

So in the end it depends on what you want to do, keep fixing stuff because of master which will pollute the history for little or no immediate gain, or work on the backend and do a proper merge/rebase some time in the future when the backend is ready for general consumption or merging becomes necessary. The latter would also make pulling and merging changes to the actual backend easier.
Hoernchen
 
Posts: 41
Joined: Mon Dec 17, 2012 3:22 am

Re: I'm working on it..

Postby yabin » Thu May 16, 2013 10:15 am

Hoernchen wrote:My versions of D149/D150 needed quite a few changes to work with my current version of llvm, you can't just apply the vanilla ones from the review website to the current master/trunk, and since they mess with a lot of internal stuff I'd expect them to keep breaking.

So in the end it depends on what you want to do, keep fixing stuff because of master which will pollute the history for little or no immediate gain, or work on the backend and do a proper merge/rebase some time in the future when the backend is ready for general consumption or merging becomes necessary. The latter would also make pulling and merging changes to the actual backend easier.


Thanks for your patient explanation!
yabin
 
Posts: 10
Joined: Fri Mar 15, 2013 2:04 am

Re: I'm working on it..

Postby Hoernchen » Sat May 18, 2013 3:42 pm

I've merged llvm and clang with the current master. Please fork the epiphany branch of my llvm and clang repositories and apply your changes to those forks, because there is just no way for me to merge patch files that you stuffed into your fork of the the actual backend repo...
Hoernchen
 
Posts: 41
Joined: Mon Dec 17, 2012 3:22 am

Re: I'm working on it..

Postby yabin » Sun May 19, 2013 11:42 pm

Hoernchen wrote:I've merged llvm and clang with the current master. Please fork the epiphany branch of my llvm and clang repositories and apply your changes to those forks, because there is just no way for me to merge patch files that you stuffed into your fork of the the actual backend repo...


OK.
yabin
 
Posts: 10
Joined: Fri Mar 15, 2013 2:04 am

PreviousNext

Return to LLVM Compiler

Who is online

Users browsing this forum: No registered users and 1 guest

cron