Refactoring llvm command line parsing and option registration.