I'm not very convinced that it rendered the multiplication as something sane at all. I'm trying to understand if its stack tricks are being used to generate a loop that isn't immediately obvious, but I don't think that that's actually the case.
Looks to me like int is 16 bits rather than 32, and the multiply was optimized to a left shift by 1. Then it clobbers the result and reloads. Razz
Oh yeah, my bad, that looks like the right interpretation, I skimmed it too quickly.
*necro-bump* (Although slightly less necro than anticipated): Is there any progress still being made on this project? If not, are there alternative projects underway, either to improve SDCC's optimization abilities or to provide a z80 backend for another compiler?
Hi All
I am glad, that the work on LLVM (https://github.com/earl1k/llvm-z80) is interesting to you. I'm looking for anyone who wants to help me to continue to develop LLVM for Z80. If you have questions, you can ask here or via email (earl1k [dog] mail.ru). I will try to answer them.
KermMartian wrote:
*necro-bump* (Although slightly less necro than anticipated): Is there any progress still being made on this project? If not, are there alternative projects underway, either to improve SDCC's optimization abilities or to provide a z80 backend for another compiler?

AHelper has been fiddling with GCC backends as well. I've been playing with llvm for other projects, but more on the frontend and not the backend, but having some familiarity with everything is probably helpful when I get time again.


earl1k wrote:
Hi All
I am glad, that the work on LLVM (https://github.com/earl1k/llvm-z80) is interesting to you. I'm looking for anyone who wants to help me to continue to develop LLVM for Z80. If you have questions, you can ask here or via email (earl1k [dog] mail.ru). I will try to answer them.
Thanks for checking in. How'd you find us?

I'm currently a bit low on freetime to fiddle with this, but I'd like to get back to it at some point.
elfprince13 wrote:

Thanks for checking in. How'd you find us?

I found this forum in google with the words "llvm z80".
elfprince13 wrote:

I'm currently a bit low on freetime to fiddle with this, but I'd like to get back to it at some point.

Now I'm too busy with other projects. I hope that soon there will be more free time.
What's the actual state of this ? I never really paid attention to it until now. Is it usable ? Does it produce acceptably clean code ?
No, the current status is not ready for production use. A few llvm instruction is not translated into Z80 code. Others require a fundamental optimization. Especially instructions for work with a stack.
earl1k wrote:
No, the current status is not ready for production use. A few llvm instruction is not translated into Z80 code. Others require a fundamental optimization. Especially instructions for work with a stack.


Do you by any chance have a checklist of things that are working / not working? That would be a useful starting point for future collaboration, or for others to pick up work if they want to contribute but aren't sure where to start.
I have similar checklist, but some features were broken after merge with llvm trunk. If rollback a few merge, then all features in this list must work. Another way to find and fix the broken features.

Roadmap with features is here:
https://github.com/earl1k/llvm-z80/wiki/Roadmap
Thanks - I ran your roadmap through Google Translate, and I think I can mostly parse the intention.

It seems like it could be useful to draw up a test suite to see which features are behaving at any given time and which aren't (unless these are covered by the existing llvm tests?). That would make it easier to identify and recover from regressions introduced upstream (or by other collaborators).
Bump might be interested in helping with this some. That being said How goes it? And how much more work will be needed for EZ80 use?
This project would be very useful in conjunction with my project, Source, as z80 machines could become a valid compilation target if this project was completed. I'm watching this with a close eye, and hope progress continues.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 5 of 5
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement