Hi LLVM Folks
This is a rather long message with many questions, so sorry for that.
It’s not 100% complete (not all instructions are implemented yet, as there’s like 400 of them, mostly for controlling various hardware peripherals), but it’s relatively functional and can do most things that one commonly would want to do, and I’ve got a supporting C and runtime library. It’s about time it makes it’s way into the mainline LLVM repo I think, as there seem to be often changes to backend structure, prototypes, etc that whenever I pull in main into my fork, everything breaks and I spend two days refactoring my code to fix it, so it would be nice to have that changed by whoever as actually making the changes.
1. Is submitting an “in development” backend that’s in this state and leaving it experimental acceptable? If not, what are the minimum requirements?
2. My code doesn’t currently conform to LLVM’s style guide. Is this acceptable for an experimental/in development target?
I struggle with LLVM’s style (just different than how I write code) so I want to avoid going through and fixing all the little things until actually necessary
3. Currently, I am the only maintainer of this fork, so I would be the code owner. Does this mean I’d be on the hook for reviewing all the changes that might come down the pipeline that aren’t explicitly affecting functionality (say, some change in the Target class definition)
I hope to get more folks from the Propeller community working on this in the future, but it’s a rather small project for now.
On the testing side, I have a series of simple tests that run on the actual hardware (no simulator is available). They are not exhaustive of compiler features, microcontroller features, or code coverage of the target code in LLVM. They are just the bare minimum I run to make sure I didn’t break something massive and I can still compile and run simple applications.
4. What is the minimum set of tests for the experimental target that must exist within the LLVM test suite. Is it acceptable to have none (since I’m the only developer and can run tests on my own)?
Now to actually submit this change:
Finally,
Thanks,
Nikita