Apply changes to migrate to LLVM upstream Oct 20th 2011.

- StructType::isAnonymous is renamed to isLiteral.

- StructType::createNamed is renamed to create.

- ConstantExpr::getGetElementPtr and
  ConstantExpr::getInboundsGetElementPtr is adopting llvm::ArrayRef.

- TargetRegistry and TargetSelect is moved from Target to Support.

- LLVMInitialize<TARGET>MCInfo, LLVMInitialize<TARGET>MCCodeGenInfo, and
  LLVMInitialize<TARGET>MCSubtargetInfo has been unified by
  LLVMInitialize<TARGET>TargetMC.

- llvm::setCodeModel is no longer available.  Now we should pass the code
  model to createTargetMachine.

- llvm::Linker::LinkerModules come with one addtional parameter (3rd),
  which indicate that rather the source module should be destroyed or
  not.  Passing llvm::Linker::DestroySource should result in same
  semantics as the old code.

Change-Id: I863f804893e528c9e6c7bf73737c17176277b18b
2 files changed