[llvm-commits] [llvm] r37843 - /llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Evan Cheng evan.cheng at apple.com
Thu Jul 5 16:57:36 PDT 2007


Here is a much simpler test case:

SingleSource/UnitTests/2005-05-12-Int64ToFP.c:

I am still trying to figure out what exactly is wrong.

Evan

On Jul 5, 2007, at 4:33 PM, Bill Wendling wrote:

> On 7/5/07, Evan Cheng <evan.cheng at apple.com> wrote:
>>
>> On Jul 5, 2007, at 7:49 AM, Dan Gohman wrote:
>>
>>> Hi Evan,
>>>
>>> I'm currently testing the attached patch, which seems to fix the
>>> problems for PPC. It extends getCopyToParts and getCopyFromParts
>>> to have an extra parameter to indicate when endian-swapping is
>>> needed. I don't have access to a PPC test environment; I've included
>>> a few trivial regression tests in this patch; I'll do some more
>>> soon.
>>
>> Thanks. I'll do some testing.
>>
>>>
>>> Copying to virtual registers is always done in little-endian order,
>>> while copying to physical registers, arguments, or return values,
>>> is done in target-endian order. I wonder if it would make sense to
>>> change to using target-endian order for virtual registers as well?
>>
>> I don't think it matters, does it? If it makes the code cleaner then
>> please do so.
>>
> FWIW, the PPC bootstrap is still failing with this patch. It's doing
> so at an earlier stage now. Here's part of the log file that shows the
> failure:
>
> # When building multilibbed target libraries, all the required
> # When building multilibbed target libraries, all the required
> # libraries are expected to exist in the multilib directory.
> MLIBS=` ./xgcc -B./
> -B/usr/local/llvm-gcc-install/powerpc-apple-darwin9/bin/ -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/include -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/sys-include
> -L/Volumes/SandBox/Clean/llvm-1040-01.roots/llvm-1040-01~obj/obj- 
> powerpc-powerpc/gcc/../ld
> --print-multi-lib \
> 		| sed -e 's/;.*$//' -e '/^\.$/d'` ; \
> 	for mlib in $MLIBS ; do \
> 	  rm -f ${mlib}/libgcc_s.10.4.dylib || exit 1 ; \
> 	  ln -s ../libgcc_s.10.4.dylib ${mlib}/libgcc_s.10.4.dylib || exit  
> 1 ; \
> 	done
> # libraries are expected to exist in the multilib directory.
> MLIBS=` ./xgcc -B./
> -B/usr/local/llvm-gcc-install/powerpc-apple-darwin9/bin/ -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/include -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/sys-include
> -L/Volumes/SandBox/Clean/llvm-1040-01.roots/llvm-1040-01~obj/obj- 
> powerpc-powerpc/gcc/../ld
> --print-multi-lib \
> 		| sed -e 's/;.*$//' -e '/^\.$/d'` ; \
> 	for mlib in $MLIBS ; do \
> 	  rm -f ${mlib}/libgcc_s.10.5.dylib || exit 1 ; \
> 	  ln -s ../libgcc_s.10.5.dylib ${mlib}/libgcc_s.10.5.dylib || exit  
> 1 ; \
> 	done
> MLIBS=` ./xgcc -B./
> -B/usr/local/llvm-gcc-install/powerpc-apple-darwin9/bin/ -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/include -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/sys-include
> -L/Volumes/SandBox/Clean/llvm-1040-01.roots/llvm-1040-01~obj/obj- 
> powerpc-powerpc/gcc/../ld
> --print-multi-lib \
> 		| sed -e 's/;.*$//' -e '/^\.$/d'` ; \
> 	for mlib in '' $MLIBS ; do \
> 	  strip -o libgcc_s.10.5.dylib_T${mlib} \
> 	    -s /Volumes/SandBox/Clean/llvm-1040-01.roots/llvm-1040-01~obj/ 
> src/gcc/config/rs6000/darwin-libgcc.10.5.ver
> -c -u \
> 	    ./${mlib}/libgcc_s.1.dylib.tmp || exit 1 ; \
> 	done
> MLIBS=` ./xgcc -B./
> -B/usr/local/llvm-gcc-install/powerpc-apple-darwin9/bin/ -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/include -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/sys-include
> -L/Volumes/SandBox/Clean/llvm-1040-01.roots/llvm-1040-01~obj/obj- 
> powerpc-powerpc/gcc/../ld
> --print-multi-lib \
> 		| sed -e 's/;.*$//' -e '/^\.$/d'` ; \
> 	for mlib in '' $MLIBS ; do \
> 	  strip -o libgcc_s.10.4.dylib_T${mlib} \
> 	    -s /Volumes/SandBox/Clean/llvm-1040-01.roots/llvm-1040-01~obj/ 
> src/gcc/config/rs6000/darwin-libgcc.10.4.ver
> -c -u \
> 	    ./${mlib}/libgcc_s.1.dylib.tmp || exit 1 ; \
> 	done
> lipo -output libgcc_s.10.4.dylib -create libgcc_s.10.4.dylib_T*
> lipo -output libgcc_s.10.5.dylib -create libgcc_s.10.5.dylib_T*
> rm libgcc_s.10.5.dylib_T*
> rm libgcc_s.10.4.dylib_T*
> # When building multilibbed target libraries, all the required
> # libraries are expected to exist in the multilib directory.
> MLIBS=` ./xgcc -B./
> -B/usr/local/llvm-gcc-install/powerpc-apple-darwin9/bin/ -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/include -isystem
> /usr/local/llvm-gcc-install/powerpc-apple-darwin9/sys-include
> -L/Volumes/SandBox/Clean/llvm-1040-01.roots/llvm-1040-01~obj/obj- 
> powerpc-powerpc/gcc/../ld
> --print-multi-lib \
> 		| sed -e 's/;.*$//' -e '/^\.$/d'` ; \
> 	for mlib in '' $MLIBS ; do \
> 	  cp ./${mlib}/libgcc_s.1.dylib.tmp \
> 	    ./libgcc_s.1.dylib_T_${mlib} || exit 1 ; \
> 	done
> lipo -output libgcc_s.1.dylib \
> 	  -create libgcc_s.1.dylib_T*
> rm libgcc_s.1.dylib_T*
> make[3]: *** [libgcc_s.1.dylib] Segmentation fault
> make[3]: *** Deleting file `libgcc_s.1.dylib'
> rm cpp.pod gfdl.pod fsf-funding.pod gcov.pod gcc.pod gpl.pod
> make[2]: *** [stage1_build] Error 2
> make[1]: *** [bootstrap] Error 2
> + exit 1
> make: *** [install] Error 1
>
> -bw
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list