/// @mainpage LLVM
///
/// @section main_intro Introduction
/// Welcome to LLVM.
///
/// This documentation describes the @b internal software that makes 
/// up LLVM, not the @b external use of  LLVM. There are no instructions
/// here on how to use LLVM, only the APIs that make up the software. For usage 
/// instructions, please see the programmer's guide or reference manual.
///
/// @section main_caveat Caveat 
/// This documentation is generated directly from the source code with doxygen. 
/// Since LLVM is constantly under active development, what you're about to
/// read is out of date! However, it may still be useful since certain portions
/// of LLVM are very stable. 
///
/// @section main_changelog Change Log
/// - Original content written 12/30/2003 by Reid Spencer
