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: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to