[llvm-commits] [dragonegg] r94909 - /dragonegg/trunk/llvm-abi-default.cpp

Duncan Sands baldrick at free.fr
Sat Jan 30 09:55:48 PST 2010


Author: baldrick
Date: Sat Jan 30 11:55:48 2010
New Revision: 94909

URL: http://llvm.org/viewvc/llvm-project?rev=94909&view=rev
Log:
Port commit 94442 (bwilson) from llvm-gcc:
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:
    dragonegg/trunk/llvm-abi-default.cpp

Modified: dragonegg/trunk/llvm-abi-default.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/llvm-abi-default.cpp?rev=94909&r1=94908&r2=94909&view=diff

==============================================================================
--- dragonegg/trunk/llvm-abi-default.cpp (original)
+++ dragonegg/trunk/llvm-abi-default.cpp Sat Jan 30 11:55:48 2010
@@ -235,8 +235,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