Craig Topper via llvm-dev
2017-Jul-01 06:12 UTC
[llvm-dev] LLC Segmentation Fault in Matrix Multiplication
Can you attach your source code or .ll file? Have you tried a debug build of llc which might give a more readable stack dump or even an assertion message. ~Craig On Fri, Jun 30, 2017 at 10:51 PM, hameeza ahmed via llvm-dev < llvm-dev at lists.llvm.org> wrote:> It happens only when i keep my vector width to >=64, why is that so? > > I have to keep it >=64. Please suggest some way? > > On Sat, Jul 1, 2017 at 10:47 AM, hameeza ahmed <hahmed2305 at gmail.com> > wrote: > >> Hello, >> >> when i used clang for matrix multiplication code with i=j=k=1000351, it >> successfully generates IR. then i run opt as follows >> opt -S -O3 -force-vector-width=64 -force-vector-interleave=32 matn.ll -o >> pimmatnl_64_u32_o3.ll >> >> it also worked fine. but when i run llc on the optimized .ll file >> >> llc -x86-asm-syntax=intel pimmatnl_64_u32_o3.ll -o matnl-knl4_intel.s >> >> i get the following segmentation fault error: >> >> #0 0x0000000001826ad8 (llc+0x1826ad8) >> #1 0x0000000001824aae (llc+0x1824aae) >> #2 0x0000000001824bfc (llc+0x1824bfc) >> #3 0x00007fa6bdb52d10 __restore_rt (/lib/x86_64-linux-gnu/libpthr >> ead.so.0+0x10d10) >> #4 0x00000000014d0974 (llc+0x14d0974) >> #5 0x000000000169bdb5 (llc+0x169bdb5) >> #6 0x00000000016bcfdc (llc+0x16bcfdc) >> #7 0x00000000016d8684 (llc+0x16d8684) >> #8 0x000000000170a4c0 (llc+0x170a4c0) >> #9 0x000000000171199d (llc+0x171199d) >> #10 0x0000000001714258 (llc+0x1714258) >> #11 0x0000000000e530f4 (llc+0xe530f4) >> #12 0x000000000122c931 (llc+0x122c931) >> #13 0x0000000001499b2a (llc+0x1499b2a) >> #14 0x0000000001499bd3 (llc+0x1499bd3) >> #15 0x0000000001499694 (llc+0x1499694) >> #16 0x000000000068a68c (llc+0x68a68c) >> #17 0x0000000000626a80 (llc+0x626a80) >> #18 0x00007fa6bccf3a40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so >> .6+0x20a40) >> #19 0x000000000067f8e9 (llc+0x67f8e9) >> Stack dump: >> 0. Program arguments: llc -x86-asm-syntax=intel pimmatnl_64_u32_o3.ll -o >> matnl-knl4_intel.s >> 1. Running pass 'Function Pass Manager' on module >> 'pimmatnl_64_u32_o3.ll'. >> 2. Running pass 'X86 DAG->DAG Instruction Selection' on function >> '@multiply' >> Segmentation fault (core dumped) >> >> Why does it happen? please correct me. >> >> Thank You >> > > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170630/d8ee6f92/attachment.html>
hameeza ahmed via llvm-dev
2017-Jul-01 06:16 UTC
[llvm-dev] LLC Segmentation Fault in Matrix Multiplication
Files are attached here. No I havent tried debug On Sat, Jul 1, 2017 at 11:12 AM, Craig Topper <craig.topper at gmail.com> wrote:> Can you attach your source code or .ll file? Have you tried a debug build > of llc which might give a more readable stack dump or even an assertion > message. > > ~Craig > > On Fri, Jun 30, 2017 at 10:51 PM, hameeza ahmed via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> It happens only when i keep my vector width to >=64, why is that so? >> >> I have to keep it >=64. Please suggest some way? >> >> On Sat, Jul 1, 2017 at 10:47 AM, hameeza ahmed <hahmed2305 at gmail.com> >> wrote: >> >>> Hello, >>> >>> when i used clang for matrix multiplication code with i=j=k=1000351, it >>> successfully generates IR. then i run opt as follows >>> opt -S -O3 -force-vector-width=64 -force-vector-interleave=32 matn.ll >>> -o pimmatnl_64_u32_o3.ll >>> >>> it also worked fine. but when i run llc on the optimized .ll file >>> >>> llc -x86-asm-syntax=intel pimmatnl_64_u32_o3.ll -o matnl-knl4_intel.s >>> >>> i get the following segmentation fault error: >>> >>> #0 0x0000000001826ad8 (llc+0x1826ad8) >>> #1 0x0000000001824aae (llc+0x1824aae) >>> #2 0x0000000001824bfc (llc+0x1824bfc) >>> #3 0x00007fa6bdb52d10 __restore_rt (/lib/x86_64-linux-gnu/libpthr >>> ead.so.0+0x10d10) >>> #4 0x00000000014d0974 (llc+0x14d0974) >>> #5 0x000000000169bdb5 (llc+0x169bdb5) >>> #6 0x00000000016bcfdc (llc+0x16bcfdc) >>> #7 0x00000000016d8684 (llc+0x16d8684) >>> #8 0x000000000170a4c0 (llc+0x170a4c0) >>> #9 0x000000000171199d (llc+0x171199d) >>> #10 0x0000000001714258 (llc+0x1714258) >>> #11 0x0000000000e530f4 (llc+0xe530f4) >>> #12 0x000000000122c931 (llc+0x122c931) >>> #13 0x0000000001499b2a (llc+0x1499b2a) >>> #14 0x0000000001499bd3 (llc+0x1499bd3) >>> #15 0x0000000001499694 (llc+0x1499694) >>> #16 0x000000000068a68c (llc+0x68a68c) >>> #17 0x0000000000626a80 (llc+0x626a80) >>> #18 0x00007fa6bccf3a40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so >>> .6+0x20a40) >>> #19 0x000000000067f8e9 (llc+0x67f8e9) >>> Stack dump: >>> 0. Program arguments: llc -x86-asm-syntax=intel pimmatnl_64_u32_o3.ll >>> -o matnl-knl4_intel.s >>> 1. Running pass 'Function Pass Manager' on module >>> 'pimmatnl_64_u32_o3.ll'. >>> 2. Running pass 'X86 DAG->DAG Instruction Selection' on function >>> '@multiply' >>> Segmentation fault (core dumped) >>> >>> Why does it happen? please correct me. >>> >>> Thank You >>> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170701/b289d889/attachment-0001.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: matn.c Type: text/x-csrc Size: 425 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170701/b289d889/attachment-0001.c> -------------- next part -------------- A non-text attachment was scrubbed... Name: pimmatnl_64_u32_o3.ll Type: application/octet-stream Size: 71084 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170701/b289d889/attachment-0001.obj>
Craig Topper via llvm-dev
2017-Jul-01 06:29 UTC
[llvm-dev] LLC Segmentation Fault in Matrix Multiplication
I see the problem. I'll get a fix to you soon. ~Craig On Fri, Jun 30, 2017 at 11:16 PM, hameeza ahmed <hahmed2305 at gmail.com> wrote:> Files are attached here. No I havent tried debug > > On Sat, Jul 1, 2017 at 11:12 AM, Craig Topper <craig.topper at gmail.com> > wrote: > >> Can you attach your source code or .ll file? Have you tried a debug build >> of llc which might give a more readable stack dump or even an assertion >> message. >> >> ~Craig >> >> On Fri, Jun 30, 2017 at 10:51 PM, hameeza ahmed via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> It happens only when i keep my vector width to >=64, why is that so? >>> >>> I have to keep it >=64. Please suggest some way? >>> >>> On Sat, Jul 1, 2017 at 10:47 AM, hameeza ahmed <hahmed2305 at gmail.com> >>> wrote: >>> >>>> Hello, >>>> >>>> when i used clang for matrix multiplication code with i=j=k=1000351, it >>>> successfully generates IR. then i run opt as follows >>>> opt -S -O3 -force-vector-width=64 -force-vector-interleave=32 matn.ll >>>> -o pimmatnl_64_u32_o3.ll >>>> >>>> it also worked fine. but when i run llc on the optimized .ll file >>>> >>>> llc -x86-asm-syntax=intel pimmatnl_64_u32_o3.ll -o matnl-knl4_intel.s >>>> >>>> i get the following segmentation fault error: >>>> >>>> #0 0x0000000001826ad8 (llc+0x1826ad8) >>>> #1 0x0000000001824aae (llc+0x1824aae) >>>> #2 0x0000000001824bfc (llc+0x1824bfc) >>>> #3 0x00007fa6bdb52d10 __restore_rt (/lib/x86_64-linux-gnu/libpthr >>>> ead.so.0+0x10d10) >>>> #4 0x00000000014d0974 (llc+0x14d0974) >>>> #5 0x000000000169bdb5 (llc+0x169bdb5) >>>> #6 0x00000000016bcfdc (llc+0x16bcfdc) >>>> #7 0x00000000016d8684 (llc+0x16d8684) >>>> #8 0x000000000170a4c0 (llc+0x170a4c0) >>>> #9 0x000000000171199d (llc+0x171199d) >>>> #10 0x0000000001714258 (llc+0x1714258) >>>> #11 0x0000000000e530f4 (llc+0xe530f4) >>>> #12 0x000000000122c931 (llc+0x122c931) >>>> #13 0x0000000001499b2a (llc+0x1499b2a) >>>> #14 0x0000000001499bd3 (llc+0x1499bd3) >>>> #15 0x0000000001499694 (llc+0x1499694) >>>> #16 0x000000000068a68c (llc+0x68a68c) >>>> #17 0x0000000000626a80 (llc+0x626a80) >>>> #18 0x00007fa6bccf3a40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so >>>> .6+0x20a40) >>>> #19 0x000000000067f8e9 (llc+0x67f8e9) >>>> Stack dump: >>>> 0. Program arguments: llc -x86-asm-syntax=intel pimmatnl_64_u32_o3.ll >>>> -o matnl-knl4_intel.s >>>> 1. Running pass 'Function Pass Manager' on module >>>> 'pimmatnl_64_u32_o3.ll'. >>>> 2. Running pass 'X86 DAG->DAG Instruction Selection' on function >>>> '@multiply' >>>> Segmentation fault (core dumped) >>>> >>>> Why does it happen? please correct me. >>>> >>>> Thank You >>>> >>> >>> >>> _______________________________________________ >>> LLVM Developers mailing list >>> llvm-dev at lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >>> >>> >> >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170630/ed0e07bc/attachment.html>