[LLVMbugs] [Bug 21671] New: backend crash with large structure variables

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Nov 25 13:25:46 PST 2014


http://llvm.org/bugs/show_bug.cgi?id=21671

            Bug ID: 21671
           Summary: backend crash with large structure variables
           Product: clang
           Version: 3.5
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: Dale.Martin at mathworks.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 13395
  --> http://llvm.org/bugs/attachment.cgi?id=13395&action=edit
An example that crashes when process with llc

The X86 backend crashes when compiling the attached example that has load/store
of large structures "alloca"ed on the stack. It looks like a merge_values
instruction with more than 16k children gets generated, despite the fact that
the number is stored in an unsigned short.

Note that if you slight reduce the number of nested fields, the example will
generate code it takes many minutes and generates thousands of discrete movb
instructions.

The workaround is to directly call memcpy instead of using load/store but this
seems like it is intended to work as is and that an optimization should be
responsible for generating the memcpy and that it should not have to come from
a front-end directly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20141125/05e96f46/attachment.html>


More information about the llvm-bugs mailing list