Author: evancheng Date: Fri Feb 1 13:25:13 2008 New Revision: 46643 URL: http://llvm.org/viewvc/llvm-project?rev=46643&view=rev Log: int_size_in_bytes() returns the type size in bytes, not bits. So compare against 16, not 128.
Modified: llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp Modified: llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp?rev=46643&r1=46642&r2=46643&view=diff ============================================================================== --- llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp (original) +++ llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386.cpp Fri Feb 1 13:25:13 2008 @@ -802,15 +802,15 @@ } /* Target hook for llvm-abi.h. It returns true if an aggregate of the - specified type should be passed in a number of registers of mixed types. - It also returns a vector of types that correspond to the registers used - for parameter passing. This is only called for x86-32. */ + specified type should be passed in a number of registers of mixed types. + It also returns a vector of types that correspond to the registers used + for parameter passing. This is only called for x86-32. */ bool llvm_x86_32_should_pass_aggregate_in_mixed_regs(tree TreeType, const Type *Ty, std::vector<const Type*> &Elts){ // If this is a small fixed size type, investigate it. HOST_WIDE_INT SrcSize = int_size_in_bytes(TreeType); - if (SrcSize <= 0 || SrcSize > 128) + if (SrcSize <= 0 || SrcSize > 16) return false; // X86-32 passes aggregates on the stack. If this is an extremely simple _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits