In http://reviews.llvm.org/D7880 the initialization for LLGS was separated out so that LLGS could initialize only the components it needs to. This further reduces the set of components initialized for LLGS.
It looks good to me, but I think you can remove the following modules also (haven't tested it):
Thanks for your explanation. It makes sense, but I think LLGS not necessarily have to parse any ELF file because it can be done on LLDB side (it already can send down the architecture of an executable). I suggest to leave it in LLGS for now, and if later we want to reduce the size of LLGS further, then we can remove it (possibly after some re-factoring).