I am interested in making a full in-browser IDE for the ESP8266.  Or, just
making a compiler that's reasonable to install on a variety of systems.
Right now, it's a complete mess.  To do this, I need to port TCC to xtensa
specifically lx6 with no floating point.  I've started down this path but
have some questions, and was wondering if anyone had any good resources for
some specific aspects of TCC.

Questions:
(1) How does one get involved in coding for the core of TinyCC?

(2) I could use a C-to-JS compiler for this project.  If I did succeed and
it worked well, would you consider it for inclusion considering emscripten
is a bloated mess.

(3) If I do get this xtensa output working, would there be interest for
inclusion in mainline?

(4) Is there a better community (chat/discord/etc.) for discussing tinyCC?

(5) Currently, I am working by pulling from the repo.or.cz and pusing to my
git branch.  Is this a reasonable thing to do before I am ready to try to
get into mob?


Resources (Does anyone have any resources on these topics):


(6) An in-depth discussion of what all goes into the -gen and -link files?
I think I've got it mostly figured out with the definitions in
xxx-[link|gen].c in tcc.h.

(7) Register assignments.  When I write my prolog and see code generation
requests, they seem to do some very dumb things almost assuming I have zero
registers. I don't understand how the management is supposed to work. It
feels rather muttled.  I saw register assignment help in the ARM port, but,
it felt integrally tied into TCC in ways that are difficult to mirror for
xtensa.

(8) Rationales behind emitting code directly from the -gen, -link.  I.e.
Has anyone ever done a video or presentation on the big WHY.  It feels VERY
different from other compilers in that it seems almost directly geared away
from having multiple steps.  Which, is fast.  But... may be suboptimal?

(9) Anything that discusses how optimization really goes on.  Or is TCC's
approach always "you write slow C code, you get slow C code."



P.S. Amazing work as always from everyone over there.  My heart gets
fluttery when I see 0.9.27(8) becoming a reality.
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to