Merge LLVM 3.4 into PNaCl's branch
This fixes up numerous merge conflicts. Note that this does not
update files that are specific to the PNaCl branch -- compile fixes
for these files will be done in a separate commit.
Note that since the PNaCl branch contained a lot of changes
cherry-picked from between 3.3 and 3.4, these changes go away --
generally these are the ones without 'LOCALMOD' markers. This
includes:
* Various ARM changes, including tests in test/CodeGen/ARM
* Various MIPS changes
There were large merge conflicts in:
* lib/Support/Unix: This was refactored upstream.
* Removed the Mac debugging localmod for getcwd() in
lib/Support/Unix/Path.inc.
* SelectionDAG code: DebugLoc was changed to SDLoc in many places.
* ARMFrameLowering.cpp, ARMMCTargetDesc.cpp: I've reworked the
localmods for implementing DWARF CFI generation. They now use
addFrameInst().
* lib/Target/ARM/ARMInstrInfo.td, test/CodeGen/ARM/prefetch.ll:
Dropped these localmods because of merge conflicts. This doesn't
affect ABI-stable pexes since the PNaCl ABI doesn't support the
llvm.prefetch intrinsic.
* lib/Target/Mips/MipsInstrFPU.td: This was refactored upstream.
* lib/Target/X86/X86FastISel.cpp: Big conflict with refactoring that
adds handleConstantAddresses().
* lib/Transforms/IPO/GlobalOpt.cpp: The localmod was patching an
optimisation that was removed in r191834, so it goes away.
* Localmods applying to tools/lto were moved to lib/LTO.
BUG=https://code.google.com/p/nativeclient/issues/detail?id=3757
TEST=Only testable with following fixup change
Review URL: https://groups.google.com/forum/#!topic/native-client-reviews/TBEjmKlq5uc