[llvm-bugs] [Bug 35392] New: Crash in 'Machine Common Subexpression Elimination' and possibly other passes

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Nov 22 22:23:59 PST 2017


https://bugs.llvm.org/show_bug.cgi?id=35392

            Bug ID: 35392
           Summary: Crash in 'Machine Common Subexpression Elimination'
                    and possibly other passes
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: rtrieu at google.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 19458
  --> https://bugs.llvm.org/attachment.cgi?id=19458&action=edit
Example code

Stack dump:
0.      Program arguments: clang -cc1 -triple x86_64-unknown-linux-gnu
-emit-obj -target-cpu x86-64 -O1 -std=c++11 -fsanitize=address -x c++ test.cpp 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'test.cpp'.
4.      Running pass 'Machine Common Subexpression Elimination' on function
'@_ZNK1S3RunER1RR4Pair'
Segmentation fault (core dumped)

clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -target-cpu x86-64 -O1
-std=c++11 -fsanitize=address -x c++ test.cpp

The attached file uses macros to generate many repetitive branches in the
function.  Once preprocessed, the code is over four thousands lines.  Compiling
can take a few minutes.  MachineCSE was not the only pass seen while reducing
this example.  These are all the passes seen in crash logs:

'Machine Common Subexpression Elimination'
'X86 DAG->DAG Instruction Selection'
'Live Variable Analysis'
'X86 Optimize Call Frame'

-- 
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/20171123/4c6f306a/attachment.html>


More information about the llvm-bugs mailing list