[llvm-commits] [llvm-gcc-4.2] r94442 - in /llvm-gcc-4.2/trunk/gcc: llvm-abi-default.cpp llvm-abi-linux-ppc.cpp

Bob Wilson bob.wilson at apple.com
Mon Jan 25 12:03:35 PST 2010


Author: bwilson
Date: Mon Jan 25 14:03:35 2010
New Revision: 94442

URL: http://llvm.org/viewvc/llvm-project?rev=94442&view=rev
Log:
Partially revert my changes for pr5406.  There is no need to check if i64 is
a legal type.  Using i64 elements to pass aggregates for ARM APCS is OK because
i64 has only 4-byte alignment with APCS.  This may help pr6059, where an
8-byte alignment is being ignored when using AAPCS.

Modified:
    llvm-gcc-4.2/trunk/gcc/llvm-abi-default.cpp
    llvm-gcc-4.2/trunk/gcc/llvm-abi-linux-ppc.cpp

Modified: llvm-gcc-4.2/trunk/gcc/llvm-abi-default.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-abi-default.cpp?rev=94442&r1=94441&r2=94442&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-abi-default.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-abi-default.cpp Mon Jan 25 14:03:35 2010
@@ -229,8 +229,7 @@
   unsigned Align = TYPE_ALIGN(type)/8;
   unsigned Int64Align =
     getTargetData().getABITypeAlignment(Type::getInt64Ty(getGlobalContext()));
-  bool UseInt64 = (getTargetData().isLegalInteger(64) &&
-		   (DontCheckAlignment || Align >= Int64Align));
+  bool UseInt64 = (DontCheckAlignment || Align >= Int64Align);
 
   unsigned ElementSize = UseInt64 ? 8:4;
   unsigned ArraySize = Size / ElementSize;

Modified: llvm-gcc-4.2/trunk/gcc/llvm-abi-linux-ppc.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-abi-linux-ppc.cpp?rev=94442&r1=94441&r2=94442&view=diff

==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-abi-linux-ppc.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-abi-linux-ppc.cpp Mon Jan 25 14:03:35 2010
@@ -311,8 +311,7 @@
   unsigned Align = TYPE_ALIGN(type)/8;
   unsigned Int64Align =
     getTargetData().getABITypeAlignment(Type::getInt64Ty(getGlobalContext()));
-  bool UseInt64 = (getTargetData().isLegalInteger(64) &&
-		   (DontCheckAlignment || Align >= Int64Align));
+  bool UseInt64 = (DontCheckAlignment || Align >= Int64Align);
 
   unsigned ElementSize = UseInt64 ? 8:4;
   unsigned ArraySize = Size / ElementSize;





More information about the llvm-commits mailing list