Fix N32 registers and stack alignment.
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 17 Dec 2013 23:15:58 +0000 (23:15 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 17 Dec 2013 23:15:58 +0000 (23:15 +0000)
This patch fixes the "n" and "S" components of the data layout for mips. Clang
already gets this right.

This will be tested in clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197536 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Mips/MipsTargetMachine.cpp

index 6cf6ae6684479bc8b480b6b1524f72df2dcf526c..91c9d691081921a3b68b6d1db3016e1d1a994886 100644 (file)
@@ -65,7 +65,7 @@ static std::string computeDataLayout(const MipsSubtarget &ST) {
   // 32 bit registers are always available and the stack is at least 64 bit
   // aligned. On N64 64 bit registers are also available and the stack is
   // 128 bit aligned.
-  if (ST.isABI_N64())
+  if (ST.isABI_N64() || ST.isABI_N32())
     Ret += "-n32:64-S128";
   else
     Ret += "-n32-S64";