[PowerPC] Support powerpc64le as a syntax-checking target.
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 26 Jul 2013 01:35:43 +0000 (01:35 +0000)
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>
Fri, 26 Jul 2013 01:35:43 +0000 (01:35 +0000)
commitf38cc38fa647d4e72c053c39bbe0cdec1342535f
treedf4f4c8effb52f7abc5ea69393a45bf20ef3241e
parentfb5b3eaacbc65603b436279300c32512176150fe
[PowerPC] Support powerpc64le as a syntax-checking target.

This patch provides basic support for powerpc64le as an LLVM target.
However, use of this target will not actually generate little-endian
code.  Instead, use of the target will cause the correct little-endian
built-in defines to be generated, so that code that tests for
__LITTLE_ENDIAN__, for example, will be correctly parsed for
syntax-only testing.  Code generation will otherwise be the same as
powerpc64 (big-endian), for now.

The patch leaves open the possibility of creating a little-endian
PowerPC64 back end, but there is no immediate intent to create such a
thing.

The LLVM portions of this patch simply add ppc64le coverage everywhere
that ppc64 coverage currently exists.  There is nothing of any import
worth testing until such time as little-endian code generation is
implemented.  In the corresponding Clang patch, there is a new test
case variant to ensure that correct built-in defines for little-endian
code are generated.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187179 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
autoconf/config.guess
autoconf/m4/libtool.m4
include/llvm/ADT/Triple.h
include/llvm/Object/ELF.h
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
lib/MC/MCObjectFileInfo.cpp
lib/Support/Triple.cpp
lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
lib/Target/PowerPC/PPC.td
lib/Target/PowerPC/PPCAsmPrinter.cpp
lib/Target/PowerPC/PPCSubtarget.cpp
lib/Target/PowerPC/PPCSubtarget.h
lib/Target/PowerPC/PPCTargetMachine.cpp
lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp
projects/sample/autoconf/config.guess
projects/sample/autoconf/m4/libtool.m4