Changes to CMake build to fix issues with new cmake policy and llvm-config change to ELF Executable from Perl Script
Fixed gen/main.cpp to handle addition of llvm::TargetOptions (llvm::NoFramePointerElim moved here), llvm::CodeGenOpt and changes to createTargetMachine
Small fix to cmake Module to fix edgecase of not linking
Small changes trying to get everything to work
Needed to add x86 module to list of modules
Don't link C/C++ backend, explicitly default to native target instead of x86.

The C backend compiles LLVM IR to C code, which in turn can be compiled e.g. by GCC, the C++ backend generates a program that generates LLVM IR (for testing purposes). None of these are used by LDC.
Merge branch 'master' into llvm-3.1
Merge branch 'master' into llvm-3.1
Fixed a compile error.
Merge pull request #63 from redstar/llvm-3.1

Merge latest changes into llvm-3.1 branch
Merge branch 'master' into llvm-3.1
Merge branch 'master' into llvm-3.1
Changed attributes type.

Recently there was a need for more than 32 attribute values. The attributes type was therefore changed from unsigned to new value class llvm::Attributes. This commit changes LDC to use the new type.
Merge branch 'master' into llvm-3.1
Merge branch 'master' into llvm-3.1
Merge branch 'master' into llvm-3.1
Merge branch 'master' into llvm-3.1
Code changes because of removed ConstantArray::get(...StringRef...) method.

The get method taking a StringRef was removed in LLVM. These are the necessary changes in LDC.
Merge branch 'master' into llvm-3.1
Merge branch 'master' into llvm-3.1