Closed PHHargrove closed 10 years ago
Today's latest code doesn't build on Linux/ppc64. This is the first time I've tried in quite a while.
I am seeing an internal compiler error from the just-built clang when it is trying to compile upc_barrier.upc in the smp runtime.
[ 95%] Built target upc-link-script [ 95%] Building C object tools/clang/runtime/libupc/CMakeFiles/upc-s.dir/smp/upc_barrier.upc.o fatal error: error in backend: Cannot select: 0x1001078d000: i64 = zero_extend 0x1001078c4f0 [ORD=36] [ID=62] 0x1001078c4f0: i64 = add 0x1001078bae0, 0x1001078aee0 [ORD=27] [ID=60] 0x1001078bae0: i64 = PPCISD::TOC_ENTRY 0x100107814e0, 0x1001078c2f0 [ORD=27] [ID=35] 0x100107814e0: i64 = TargetGlobalAddress<[1 x %struct.barrier_block]* @__upc_btree> 0 [ORD=27] [ID=23] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x1001078aee0: i64 = shl 0x1001078bff0, 0x10010780de0 [ORD=26] [ID=57] 0x1001078bff0: i64 = select_cc 0x1001078c1f0, 0x100107810e0, 0x1001078c0f0, 0x100107811e0, 0x1001078ade0 [ORD=20] [ID=53] 0x1001078c1f0: i64 = sub 0x10010780fe0, 0x10010780ee0 [ORD=15] [ID=49] 0x10010780fe0: i64,ch = load 0x10010761238, 0x1001078b3e0, 0x100107813e0<LD4[@MYTHREAD], sext from i32> [ORD=9] [ID=42] 0x1001078b3e0: i64 = PPCISD::TOC_ENTRY 0x1001078afe0, 0x1001078c2f0 [ORD=8] [ID=37] 0x1001078afe0: i64 = TargetGlobalAddress<i32* @MYTHREAD> 0 [ORD=8] [ID=26] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x10010780ee0: i64 = mul 0x100107811e0, 0x100107815e0 [ORD=15] [ID=46] 0x100107811e0: i64 = sdiv 0x10010780fe0, 0x100107815e0 [ORD=14] [ID=44] 0x10010780fe0: i64,ch = load 0x10010761238, 0x1001078b3e0, 0x100107813e0<LD4[@MYTHREAD], sext from i32> [ORD=9] [ID=42] 0x1001078b3e0: i64 = PPCISD::TOC_ENTRY 0x1001078afe0, 0x1001078c2f0 [ORD=8] [ID=37] 0x1001078afe0: i64 = TargetGlobalAddress<i32* @MYTHREAD> 0 [ORD=8] [ID=26] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x100107815e0: i64,ch = load 0x10010761238, 0x1001078b1e0, 0x100107813e0<LD4[@THREADS], zext from i32> [ORD=11] [ID=41] 0x1001078b1e0: i64 = PPCISD::TOC_ENTRY 0x1001078c3f0, 0x1001078c2f0 [ORD=10] [ID=36] 0x1001078c3f0: i64 = TargetGlobalAddress<i32* @THREADS> 0 [ORD=10] [ID=25] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x100107815e0: i64,ch = load 0x10010761238, 0x1001078b1e0, 0x100107813e0<LD4[@THREADS], zext from i32> [ORD=11] [ID=41] 0x1001078b1e0: i64 = PPCISD::TOC_ENTRY 0x1001078c3f0, 0x1001078c2f0 [ORD=10] [ID=36] 0x1001078c3f0: i64 = TargetGlobalAddress<i32* @THREADS> 0 [ORD=10] [ID=25] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x100107810e0: i64 = Constant<0> [ID=2] 0x1001078c0f0: i64 = add 0x100107811e0, 0x1001078bbe0 [ORD=19] [ID=47] 0x100107811e0: i64 = sdiv 0x10010780fe0, 0x100107815e0 [ORD=14] [ID=44] 0x10010780fe0: i64,ch = load 0x10010761238, 0x1001078b3e0, 0x100107813e0<LD4[@MYTHREAD], sext from i32> [ORD=9] [ID=42] 0x1001078b3e0: i64 = PPCISD::TOC_ENTRY 0x1001078afe0, 0x1001078c2f0 [ORD=8] [ID=37] 0x1001078afe0: i64 = TargetGlobalAddress<i32* @MYTHREAD> 0 [ORD=8] [ID=26] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x100107815e0: i64,ch = load 0x10010761238, 0x1001078b1e0, 0x100107813e0<LD4[@THREADS], zext from i32> [ORD=11] [ID=41] 0x1001078b1e0: i64 = PPCISD::TOC_ENTRY 0x1001078c3f0, 0x1001078c2f0 [ORD=10] [ID=36] 0x1001078c3f0: i64 = TargetGlobalAddress<i32* @THREADS> 0 [ORD=10] [ID=25] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x1001078bbe0: i64 = Constant<-1> [ID=20] 0x100107811e0: i64 = sdiv 0x10010780fe0, 0x100107815e0 [ORD=14] [ID=44] 0x10010780fe0: i64,ch = load 0x10010761238, 0x1001078b3e0, 0x100107813e0<LD4[@MYTHREAD], sext from i32> [ORD=9] [ID=42] 0x1001078b3e0: i64 = PPCISD::TOC_ENTRY 0x1001078afe0, 0x1001078c2f0 [ORD=8] [ID=37] 0x1001078afe0: i64 = TargetGlobalAddress<i32* @MYTHREAD> 0 [ORD=8] [ID=26] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x100107815e0: i64,ch = load 0x10010761238, 0x1001078b1e0, 0x100107813e0<LD4[@THREADS], zext from i32> [ORD=11] [ID=41] 0x1001078b1e0: i64 = PPCISD::TOC_ENTRY 0x1001078c3f0, 0x1001078c2f0 [ORD=10] [ID=36] 0x1001078c3f0: i64 = TargetGlobalAddress<i32* @THREADS> 0 [ORD=10] [ID=25] 0x1001078c2f0: i64 = Register %X2 [ID=24] 0x100107813e0: i64 = undef [ID=3] 0x10010780de0: i32 = Constant<4> [ID=21] In function: __upc_notify clang-3.4: error: clang frontend command failed with exit code 70 (use -v to see invocation) clang version 3.4 (UPC 3.4.0-1 20140528) Target: powerpc64-unknown-linux-gnu Thread model: posix clang-3.4: note: diagnostic msg: PLEASE submit a bug report to and include the crash backtrace, preprocessed source, and associated run script. 0 clang 0x00000000116d59e4 llvm::sys::PrintStackTrace(_IO_FILE*) + 4259472620 1 clang 0x00000000116d5d74 2 clang 0x00000000116d53e0 3 0x00000fffb4440418 __kernel_sigtramp_rt64 + 0 4 clang 0x00000000107db568 5 clang 0x0000000011a25dfc clang::driver::Driver::GetTemporaryPath(llvm::StringRef, char const*) const + 4262478908 6 clang 0x0000000011a240c8 clang::driver::Driver::GetNamedOutputPath(clang::driver::Compilation&, clang::driver::JobAction const&, char const*, char const*, bool, bool) const + 4262471504 7 clang 0x0000000011a23624 clang::driver::Driver::BuildJobsForAction(clang::driver::Compilation&, clang::driver::Action const*, clang::driver::ToolChain const*, char const*, bool, bool, char const*, clang::driver::InputInfo&) const + 4262468828 8 clang 0x0000000011a22840 clang::driver::Driver::BuildJobs(clang::driver::Compilation&) const + 4262465344 9 clang 0x0000000011a1d588 clang::driver::Driver::generateCompilationDiagnostics(clang::driver::Compilation&, clang::driver::Command const*) + 4262444648 10 clang 0x00000000107b5d3c main + 4245463684 11 libc.so.6 0x00000080c9b2bcd8 12 libc.so.6 0x00000080c9b2bed0 __libc_start_main + 4293374464 Stack dump: 0. Program arguments: /home/hargrov1/upcnightly/llvm-upc-cmake/bld/bin/clang -DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER -DGUPCR_PTS_PHASE_SIZE=32 -DGUPCR_PTS_STRUCT_REP=1 -DGUPCR_PTS_THREAD_SIZE=32 -DGUPCR_PTS_VADDR_FIRST=1 -DGUPCR_PTS_VADDR_SIZE=64 -DIN_TARGET_LIBS=1 -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-optimize-sibling-calls -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -pedantic -Wno-long-long -I/home/hargrov1/upcnightly/llvm-upc-cmake/bld/tools/clang/runtime/libupc -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/bld/tools/clang/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/bld/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc/collectives -Wno-gnu -Wno-language-extension-token -fupc-pts=struct -fupc-pts-vaddr-order=first -o CMakeFiles/upc-s.dir/smp/upc_barrier.upc.o -c /home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc/smp/upc_barrier.upc 1. Building compilation jobs 2. Building compilation jobs 3. Computing output path /bin/sh: line 1: 17582 Segmentation fault /home/hargrov1/upcnightly/llvm-upc-cmake/bld/bin/clang -DCLANG_ENABLE_ARCMT -DCLANG_ENABLE_REWRITER -DCLANG_ENABLE_STATIC_ANALYZER -DGUPCR_PTS_PHASE_SIZE=32 -DGUPCR_PTS_STRUCT_REP=1 -DGUPCR_PTS_THREAD_SIZE=32 -DGUPCR_PTS_VADDR_FIRST=1 -DGUPCR_PTS_VADDR_SIZE=64 -DIN_TARGET_LIBS=1 -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-optimize-sibling-calls -fPIC -Wall -W -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers -pedantic -Wno-long-long -I/home/hargrov1/upcnightly/llvm-upc-cmake/bld/tools/clang/runtime/libupc -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/bld/tools/clang/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/bld/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc/include -I/home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc/collectives -Wno-gnu -Wno-language-extension-token -fupc-pts=struct -fupc-pts-vaddr-order=first -o CMakeFiles/upc-s.dir/smp/upc_barrier.upc.o -c /home/hargrov1/upcnightly/llvm-upc-cmake/src/tools/clang/runtime/libupc/smp/upc_barrier.upc make[2]: *** [tools/clang/runtime/libupc/CMakeFiles/upc-s.dir/smp/upc_barrier.upc.o] Error 139 make[1]: *** [tools/clang/runtime/libupc/CMakeFiles/upc-s.dir/all] Error 2 make: *** [all] Error 2
Fix in 358cae7 worked for me. Thanks, Nenad.
-Paul
Today's latest code doesn't build on Linux/ppc64. This is the first time I've tried in quite a while.
I am seeing an internal compiler error from the just-built clang when it is trying to compile upc_barrier.upc in the smp runtime.