Minas Abrahamyan
2010-Jul-19 23:40 UTC
[LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
Hi, Trying to build AOT version of vmkit java, building for that classpath glibj.zip: $ cd vmkit/tools/vmjc/libvmjc $ make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 REQUIRES_FRAME_POINTER=1 has eventually, after 50 minutes, brought: <<< llvm[0]: Compiling glibj.zip to llvm llvm[0]: Optimizing glibj.zip llvm[0]: Compiling glibj.zip.bc to native UNREACHABLE executed! 0 llc 0x0000000000c0e04f 1 llc 0x0000000000c0fc4a 2 libpthread.so.0 0x0000003b6400f0f0 3 libc.so.6 0x0000003b634326c5 gsignal + 53 4 libc.so.6 0x0000003b63433ea5 abort + 373 5 llc 0x0000000000bf07e4 llvm::llvm_unreachable_internal(char const*, char const*, unsigned int) + 356 6 llc 0x00000000008f353d 7 llc 0x00000000008f3614 8 llc 0x00000000008f85e2 9 llc 0x00000000008f894e 10 llc 0x00000000008fa586 llvm::AsmPrinter::EmitGlobalVariable(llvm::GlobalVariable const*) + 550 11 llc 0x00000000008f412f llvm::AsmPrinter::doFinalization(llvm::Module&) + 63 12 llc 0x0000000000ba0369 llvm::FPPassManager::doFinalization(llvm::Module&) + 57 13 llc 0x0000000000ba691f llvm::FPPassManager::runOnModule(llvm::Module&) + 95 14 llc 0x0000000000ba644e llvm::MPPassManager::runOnModule(llvm::Module&) + 462 15 llc 0x0000000000ba655d llvm::PassManagerImpl::run(llvm::Module&) + 125 16 llc 0x000000000051dca0 main + 2672 17 libc.so.6 0x0000003b6341eb1d __libc_start_main + 253 18 llc 0x000000000051bb19 Stack dump: 0. Program arguments: /home/mn/tests/VMkit/llvm/Release-Asserts/bin/llc -relocation-model=pic -disable-fp-elim glibj-optimized.zip.bc -o glibj.zip.s 1. Running pass 'Function Pass Manager' on module 'glibj-optimized.zip.bc'. make: *** [glibj.zip.s] Aborted (core dumped)>>>File sizes: glibj.zip.bc (93Mb), glibj-optimized.zip.bc (93Mb), glibj-optimized.zip.s was ~>190Mb when this crush occurred. How this can be corrected? Thanks, Minas
Allan Tong
2010-Aug-02 06:10 UTC
[LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
On Mon, Jul 19, 2010 at 7:40 PM, Minas Abrahamyan <minas.subs at gmail.com> wrote:> Trying to build AOT version of vmkit java, > building for that classpath glibj.zip: > > $ cd vmkit/tools/vmjc/libvmjc > $ make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 REQUIRES_FRAME_POINTER=1 > > has eventually, after 50 minutes, brought: > <<< > llvm[0]: Compiling glibj.zip to llvm > llvm[0]: Optimizing glibj.zip > llvm[0]: Compiling glibj.zip.bc to native > UNREACHABLE executed! > 0 llc 0x0000000000c0e04f > 1 llc 0x0000000000c0fc4a > 2 libpthread.so.0 0x0000003b6400f0f0 > 3 libc.so.6 0x0000003b634326c5 gsignal + 53 > 4 libc.so.6 0x0000003b63433ea5 abort + 373 > 5 llc 0x0000000000bf07e4 > llvm::llvm_unreachable_internal(char const*, char const*, unsigned > int) + 356 > 6 llc 0x00000000008f353d > 7 llc 0x00000000008f3614 > 8 llc 0x00000000008f85e2 > 9 llc 0x00000000008f894e > 10 llc 0x00000000008fa586 > llvm::AsmPrinter::EmitGlobalVariable(llvm::GlobalVariable const*) + > 550 > 11 llc 0x00000000008f412f > llvm::AsmPrinter::doFinalization(llvm::Module&) + 63 > 12 llc 0x0000000000ba0369 > llvm::FPPassManager::doFinalization(llvm::Module&) + 57 > 13 llc 0x0000000000ba691f > llvm::FPPassManager::runOnModule(llvm::Module&) + 95 > 14 llc 0x0000000000ba644e > llvm::MPPassManager::runOnModule(llvm::Module&) + 462 > 15 llc 0x0000000000ba655d > llvm::PassManagerImpl::run(llvm::Module&) + 125 > 16 llc 0x000000000051dca0 main + 2672 > 17 libc.so.6 0x0000003b6341eb1d __libc_start_main + 253 > 18 llc 0x000000000051bb19 > Stack dump: > 0. Program arguments: > /home/mn/tests/VMkit/llvm/Release-Asserts/bin/llc > -relocation-model=pic -disable-fp-elim glibj-optimized.zip.bc -o > glibj.zip.s > 1. Running pass 'Function Pass Manager' on module 'glibj-optimized.zip.bc'. > make: *** [glibj.zip.s] Aborted (core dumped) >>>> > > File sizes: glibj.zip.bc (93Mb), glibj-optimized.zip.bc (93Mb), > glibj-optimized.zip.s was ~>190Mb when this crush occurred. > > How this can be corrected?Attached patch should fix the issue. The unreachable condition was caused by a constant expression involving an inttoptr from i32. This results in a zext to 64 bits, but apparently LowerConstant in AsmPrinter doesn't handle constant expressions involving zext. Aren't zext constant expressions supported by LLVM? - Allan -------------- next part -------------- A non-text attachment was scrubbed... Name: libvmjc.diff Type: text/x-patch Size: 909 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100802/503b0ad2/attachment.bin>
nicolas geoffray
2010-Aug-03 20:35 UTC
[LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
Hi Allan, Thanks for the fix! So is this a bug in LLVM? Can you reduce that to a small test case and file a bug? Nicolas 2010/8/2 Allan Tong <actong88 at gmail.com>> On Mon, Jul 19, 2010 at 7:40 PM, Minas Abrahamyan <minas.subs at gmail.com> > wrote: > > Trying to build AOT version of vmkit java, > > building for that classpath glibj.zip: > > > > $ cd vmkit/tools/vmjc/libvmjc > > $ make ENABLE_OPTIMIZED=1 DISABLE_ASSERTIONS=1 REQUIRES_FRAME_POINTER=1 > > > > has eventually, after 50 minutes, brought: > > <<< > > llvm[0]: Compiling glibj.zip to llvm > > llvm[0]: Optimizing glibj.zip > > llvm[0]: Compiling glibj.zip.bc to native > > UNREACHABLE executed! > > 0 llc 0x0000000000c0e04f > > 1 llc 0x0000000000c0fc4a > > 2 libpthread.so.0 0x0000003b6400f0f0 > > 3 libc.so.6 0x0000003b634326c5 gsignal + 53 > > 4 libc.so.6 0x0000003b63433ea5 abort + 373 > > 5 llc 0x0000000000bf07e4 > > llvm::llvm_unreachable_internal(char const*, char const*, unsigned > > int) + 356 > > 6 llc 0x00000000008f353d > > 7 llc 0x00000000008f3614 > > 8 llc 0x00000000008f85e2 > > 9 llc 0x00000000008f894e > > 10 llc 0x00000000008fa586 > > llvm::AsmPrinter::EmitGlobalVariable(llvm::GlobalVariable const*) + > > 550 > > 11 llc 0x00000000008f412f > > llvm::AsmPrinter::doFinalization(llvm::Module&) + 63 > > 12 llc 0x0000000000ba0369 > > llvm::FPPassManager::doFinalization(llvm::Module&) + 57 > > 13 llc 0x0000000000ba691f > > llvm::FPPassManager::runOnModule(llvm::Module&) + 95 > > 14 llc 0x0000000000ba644e > > llvm::MPPassManager::runOnModule(llvm::Module&) + 462 > > 15 llc 0x0000000000ba655d > > llvm::PassManagerImpl::run(llvm::Module&) + 125 > > 16 llc 0x000000000051dca0 main + 2672 > > 17 libc.so.6 0x0000003b6341eb1d __libc_start_main + 253 > > 18 llc 0x000000000051bb19 > > Stack dump: > > 0. Program arguments: > > /home/mn/tests/VMkit/llvm/Release-Asserts/bin/llc > > -relocation-model=pic -disable-fp-elim glibj-optimized.zip.bc -o > > glibj.zip.s > > 1. Running pass 'Function Pass Manager' on module > 'glibj-optimized.zip.bc'. > > make: *** [glibj.zip.s] Aborted (core dumped) > >>>> > > > > File sizes: glibj.zip.bc (93Mb), glibj-optimized.zip.bc (93Mb), > > glibj-optimized.zip.s was ~>190Mb when this crush occurred. > > > > How this can be corrected? > > Attached patch should fix the issue. The unreachable condition was > caused by a constant expression involving an inttoptr from i32. This > results in a zext to 64 bits, but apparently LowerConstant in > AsmPrinter doesn't handle constant expressions involving zext. Aren't > zext constant expressions supported by LLVM? > > - Allan > > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20100803/5115acda/attachment.html>
Apparently Analagous Threads
- [LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
- [LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
- [LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
- [LLVMdev] VMkit AOT build problem: llc crushed on glibj compilation to native(.s) file
- [LLVMdev] [VMKit-2.7] libvmjc.so building problem