I am planning to port LLVM over to a new target processor. This is the first time that I am attempting to make changes onto a massive project. What is the best-practice for such a thing.
If I stick to the release 2.5 build, I have a baseline to build my modifications against. However, I may lose out on new features and bug fixes. If I track the trunk, it may create problems as it is the bleeding edge. It may introduce instability and/or bugs.
With some ports of GCC for example, they tend to fork at a specific point and build their modifications from there. They don't seem to merge back into the main-line and release their versions independently. While others, merge their changes into the main-line, but they may not maintain it as diligently, which causes it to break at some point in the future.
I'm looking for some advice on how best to proceed.