[llvm-branch-commits] [llvm-branch] r205766 - Merging r197572:

Tom Stellard thomas.stellard at amd.com
Tue Apr 8 07:27:56 PDT 2014


Author: tstellar
Date: Tue Apr  8 09:27:55 2014
New Revision: 205766

URL: http://llvm.org/viewvc/llvm-project?rev=205766&view=rev
Log:
Merging r197572:

------------------------------------------------------------------------
r197572 | rafael.espindola | 2013-12-18 09:35:37 -0500 (Wed, 18 Dec 2013) | 6 lines

One ppc32-darwin, a i64 inside a structure can have 32 bit alignment.

Thanks for Iain Sandoe for testing this with the original gcc.

Clang was already getting this right.

------------------------------------------------------------------------

Modified:
    llvm/branches/release_34/lib/Target/PowerPC/PPCTargetMachine.cpp
    llvm/branches/release_34/test/CodeGen/PowerPC/anon_aggr.ll

Modified: llvm/branches/release_34/lib/Target/PowerPC/PPCTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_34/lib/Target/PowerPC/PPCTargetMachine.cpp?rev=205766&r1=205765&r2=205766&view=diff
==============================================================================
--- llvm/branches/release_34/lib/Target/PowerPC/PPCTargetMachine.cpp (original)
+++ llvm/branches/release_34/lib/Target/PowerPC/PPCTargetMachine.cpp Tue Apr  8 09:27:55 2014
@@ -48,7 +48,8 @@ static std::string getDataLayoutString(c
 
   // Note, the alignment values for f64 and i64 on ppc64 in Darwin
   // documentation are wrong; these are correct (i.e. "what gcc does").
-  Ret += "-f64:64:64-i64:64:64";
+  if (ST.isPPC64() || ST.isSVR4ABI())
+    Ret += "-f64:64:64-i64:64:64";
 
   // Set support for 128 floats depending on the ABI.
   if (ST.isPPC64() && ST.isSVR4ABI()) {

Modified: llvm/branches/release_34/test/CodeGen/PowerPC/anon_aggr.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_34/test/CodeGen/PowerPC/anon_aggr.ll?rev=205766&r1=205765&r2=205766&view=diff
==============================================================================
--- llvm/branches/release_34/test/CodeGen/PowerPC/anon_aggr.ll (original)
+++ llvm/branches/release_34/test/CodeGen/PowerPC/anon_aggr.ll Tue Apr  8 09:27:55 2014
@@ -119,9 +119,9 @@ unequal:
 ; CHECK: ld 3, -[[OFFSET1]](1)
 
 ; DARWIN32: _func3:
-; DARWIN32: addi r[[REG1:[0-9]+]], r[[REGSP:[0-9]+]], 40
+; DARWIN32: addi r[[REG1:[0-9]+]], r[[REGSP:[0-9]+]], 36
 ; DARWIN32: addi r[[REG2:[0-9]+]], r[[REGSP]], 24
-; DARWIN32: lwz r[[REG3:[0-9]+]], 48(r[[REGSP]])
+; DARWIN32: lwz r[[REG3:[0-9]+]], 44(r[[REGSP]])
 ; DARWIN32: lwz r[[REG4:[0-9]+]], 32(r[[REGSP]])
 ; DARWIN32: cmplw cr{{[0-9]+}}, r[[REG4]], r[[REG3]]
 ; DARWIN32: stw r[[REG3]], -[[OFFSET1:[0-9]+]]





More information about the llvm-branch-commits mailing list