Out of source backend


I am in a developing process for a new llvm backend (target). Can I create the new target subdirectory out of source. My point is that I want to create a separate svn repo only for my new backend directory and use the llvm project as an external repository. I have to amke some changes to llvm project, to integrate my backend to the llvm, but I won’t commit my changes to the llvm repo. I only want to commit the changes to my separate backend svn repo, but I want to update the llvm external repo. This design should be like a llvm read only (but updatable) repo, and a commitable, separate backend repo.

Is this design feasible ?



I’ve done this for my research project. I designed a backend to be a loadable module for LLVM 3.3, so, in that way, I would end up with a repository that only has the backend code, nice and neat. When building my project, my Makefile would create a shared library that llc is able to load and install a new backend at runtime.

But honestly, I regret doing this. I don’t see the point anymore of creating a separate project to an out-of-tree backend. I think the best design (and simplest) is to fork the LLVM project in your private repository and develop your backend from there, rebasing when convenient.

OK, thanks for the info.