GSoC Mips backend improvement

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

GSoC Mips backend improvement

Bruno Cardoso Lopes
Hi all,

Last year i was mentored by Chris Lattner at GSoC and i created the
Mips back-end for LLVM. The back-end is still experimental (working
with simple benchmarks only) and this year i would like to improve it
as my GSoC proposal. Mips is still fairly used nowadays in a lot of
devices - routers, wireless cards, PSP, PS2 - and it would be great to
have a stable mips backend for LLVM.

General improvements :

+ Support little-endian Mips (mipsel)
+ Improve instruction scheduling to better support non interlock targets.
+ Support more subtargets.

Roadmap :

1) Define a list of benchmarks and get all working.
2) Add float-point support.
3) Repeat 1).
4) Get llvm-gcc as cross-compiler fully working for Mips
5) add Mips32 complete ISA
6) choose one more subtarget to add support (Mips64/PSP/PS2).
   Which one you would say is more important? Using llvm to
   generate code for PSP would be very fun!

Opinion and comments would be nice.
I'll leave the timeline proposal to the students application at Google,
i just want some feedback for now!

Cheers,

--
Bruno Cardoso Lopes ( now @ Cocos Island )
http://www.brunocardoso.cc

++ The saddest aspect of life right now is that
science gathers knowledge faster than society
gathers wisdom + Isaac Asimov
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: GSoC Mips backend improvement

Chris Lattner

On Mar 18, 2008, at 10:46 PM, Bruno Cardoso Lopes wrote:

> Hi all,
>
> Last year i was mentored by Chris Lattner at GSoC and i created the
> Mips back-end for LLVM. The back-end is still experimental (working
> with simple benchmarks only) and this year i would like to improve it
> as my GSoC proposal. Mips is still fairly used nowadays in a lot of
> devices - routers, wireless cards, PSP, PS2 - and it would be great to
> have a stable mips backend for LLVM.

Hi Bruno!

I think that improving the MIPS backend would be great.  However,  
instead of "general improvements", I'd strongly suggest focusing your  
efforts on a specific use (e.g. PSP, PS2 or whatever else you have to  
play with).

Based on that, I'd work on getting the rest of llvm-test to work,  
adding subtarget features (FP etc) needed for that specific CPU, then  
working on performance etc.

I think this would be a much more useful and focused project than just  
"make the backend better".  This will also hopefully allow us to say  
"llvm supports MIPS for the PSP" (or whatever), instead of just saying  
"we support some mips chips".   What do you think?

-Chris

>
>
> General improvements :
>
> + Support little-endian Mips (mipsel)
> + Improve instruction scheduling to better support non interlock  
> targets.
> + Support more subtargets.
>
> Roadmap :
>
> 1) Define a list of benchmarks and get all working.
> 2) Add float-point support.
> 3) Repeat 1).
> 4) Get llvm-gcc as cross-compiler fully working for Mips
> 5) add Mips32 complete ISA
> 6) choose one more subtarget to add support (Mips64/PSP/PS2).
>   Which one you would say is more important? Using llvm to
>   generate code for PSP would be very fun!
>
> Opinion and comments would be nice.
> I'll leave the timeline proposal to the students application at  
> Google,
> i just want some feedback for now!
>
> Cheers,
>
> --
> Bruno Cardoso Lopes ( now @ Cocos Island )
> http://www.brunocardoso.cc
>
> ++ The saddest aspect of life right now is that
> science gathers knowledge faster than society
> gathers wisdom + Isaac Asimov
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: GSoC Mips backend improvement

Eric Christopher-2
>
> I think this would be a much more useful and focused project than just
> "make the backend better".  This will also hopefully allow us to say
> "llvm supports MIPS for the PSP" (or whatever), instead of just saying
> "we support some mips chips".   What do you think?

FWIW I would highly suggest not going with the ps2 chip (emotion engine)
as the next thing for the backend. It is more than a bit complicated.

-eric
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: GSoC Mips backend improvement

Bruno Cardoso Lopes
In reply to this post by Chris Lattner
On Thu, Mar 20, 2008 at 2:22 AM, Chris Lattner <[hidden email]> wrote:
>  Hi Bruno!

Hi Chris,

>  I think that improving the MIPS backend would be great.  However,
>  instead of "general improvements", I'd strongly suggest focusing your
>  efforts on a specific use (e.g. PSP, PS2 or whatever else you have to
>  play with).
>
>  Based on that, I'd work on getting the rest of llvm-test to work,
>  adding subtarget features (FP etc) needed for that specific CPU, then
>  working on performance etc.
>
>  I think this would be a much more useful and focused project than just
>  "make the backend better".  This will also hopefully allow us to say
>  "llvm supports MIPS for the PSP" (or whatever), instead of just saying
>  "we support some mips chips".   What do you think?

You're right, the focused approach is more likely to get better results!
I'll focus on PSP at the proposal, it seems the better choice too me,
it would be nice to hear "llvm supports MIPS for the PSP" ;)

--
Bruno Cardoso Lopes ( now @ Cocos Island )
http://www.brunocardoso.cc

++ The saddest aspect of life right now is that
science gathers knowledge faster than society
gathers wisdom + Isaac Asimov
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev