What happens if a person create a new branch of LLVM and LLVM IR based on one that exists?
Means customize exists LLVM to a new LLVM.
Can then LLVM project include these new branches?
I am not a lawyer so you have to read it yourself:
Starting 1. of September you can open pull requests and propose changes to the project.
What does it mean to “include” these branches in the project? Having these branch in our GitHub repo? It has happened I believe on a very exceptional basis.
In general we have one
main branch for development and one release branch per release. Most people have private branches for developing features but the contribution back to LLVM goes through individual commits to the main branch: from the point of view of LLVM these branch never existed.
(actually there are 3 merge commits in the history of LLVM that I know of: the integration of MLIR, Flang, and Bolt in the repo)
I think if I want to use LLVM as backend of my project it is probable that I be forced to customized it and then use customized version.