Commits

Michael Gottesman committed e864f02690d
In all executables make sure to completely initialize LLVM. I also added a macro called INITIALIZE_LLVM(argc, argv) which moves this logic into one place and should be used at the beginning of *all* binaries. It initializes an LLVM shutdown object, sets up the pretty stack trace, and then initializes all of the parts of LLVM. This will make it easy to update this in the future. The reason why a macro was required was because of llvm_shutdown_obj, an RAII object that cleans up LLVM. It has to be at the function level scope of the main function. Swift SVN r31815