diff options
-rw-r--r-- | lib/Target/PowerPC/PPCTargetMachine.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/Target/PowerPC/PPCTargetMachine.cpp b/lib/Target/PowerPC/PPCTargetMachine.cpp index 46d2064a18..36d2100ac5 100644 --- a/lib/Target/PowerPC/PPCTargetMachine.cpp +++ b/lib/Target/PowerPC/PPCTargetMachine.cpp @@ -37,8 +37,13 @@ extern "C" void LLVMInitializePowerPCTarget() { static std::string getDataLayoutString(const PPCSubtarget &ST) { const Triple &T = ST.getTargetTriple(); - // PPC is big endian. - std::string Ret = "E"; + std::string Ret; + + // Most PPC* platforms are big endian, PPC64LE is little endian. + if (ST.isLittleEndian()) + Ret = "e"; + else + Ret = "E"; Ret += DataLayout::getManglingComponent(T); |