However, I think there's a sweet spot where you could implement a fairly nice boilerplate/framework that would be an 80% solution to the problem which would be a vast improvement over the current state.
The missing 20% would be language specifics and that would be either solved by forking the boilerplate code or writing some kind of callbacks for discovering references given a root object.
edit: Additionally, there's no simple example of using a GC with LLVM. It would be very helpful if there was, for example, a GC'd version of the Kaleidoscope language used in the LLVM tutorials. Even a trivial Lisp-style cons/car/cdr object system coupled with the simplest possible mark'n'sweep GC would be good.
http://projects.eclipse.org/projects/technology.omr
The guys behind The Mu Micro Virtual Machine were the ones that did the L4 OS formal verification.
Eclipse OMR is based on IBM's J9, they are making it language agnostic to support PHP, Python, Ruby and whatever else one can think of.
However they aren't LLVM based and the caveats of a generic GC do still apply.
I also agree with you, the problem is how much those 20% actually are in terms of effort.
EDIT: typo where => were, on => one
For me, the only viable alternative to GC are substructural type systems like in Rust's case.