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.
(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.