[llvm-bugs] [Bug 42355] New: Do not know how to custom type legalize this operation!

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Jun 21 10:42:03 PDT 2019


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

            Bug ID: 42355
           Summary: Do not know how to custom type legalize this
                    operation!
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: rupprecht at google.com
                CC: craig.topper at gmail.com, llvm-bugs at lists.llvm.org,
                    llvm-dev at redking.me.uk, spatel+llvm at rotateright.com

Clang crashes while building libaom (specifically
https://aomedia.googlesource.com/aom/+/refs/heads/master/av1/encoder/rdopt.c)
with avx512f, reduced to:

$ cat repro.c
int a, b;
char f[1];
void g() {
  for (int i = 0; i < b; ++i)
    if (a)
      f[i] |= 1;
    else
      f[i] &= 1;
}

$ clang -mavx512f -O1 -fvectorize -c repro.c
Do not know how to custom type legalize this operation!
UNREACHABLE executed at
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:27254! 
Stack dump:
0.      Program arguments:
/usr/local/google/home/rupprecht/src/llvm-build/dev/bin/clang-9 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name repro.c
-mrelocation-model static -mthread-model posix -fmath-errno -masm-verbose
-mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64
-target-feature +avx512f -dwarf-column-info -debugger-tuning=gdb
-momit-leaf-frame-pointer -coverage-notes-file
/google/src/cloud/rupprecht/aom-crash/google3/experimental/users/rupprecht/llvm/repro.gcno
-resource-dir
/usr/local/google/home/rupprecht/src/llvm-build/dev/lib/clang/9.0.0
-internal-isystem /usr/local/include -internal-isystem
/usr/local/google/home/rupprecht/src/llvm-build/dev/lib/clang/9.0.0/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include -O1
-fdebug-compilation-dir
/google/src/cloud/rupprecht/aom-crash/google3/experimental/users/rupprecht/llvm
-ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc
-fdiagnostics-show-option -vectorize-loops -faddrsig -o repro.o -x c repro.c    
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'repro.c'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@g'
 #0 0x00007f7abb82bdc9 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:494:11 
 #1 0x00007f7abb82bf79 PrintStackTraceSignalHandler(void*)
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:558:1 
 #2 0x00007f7abb82a886 llvm::sys::RunSignalHandlers()
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/Support/Signals.cpp:67:5 
 #3 0x00007f7abb82c61b SignalHandler(int)
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/Support/Unix/Signals.inc:357:1 
 #4 0x00007f7abaac53a0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x123a0)
 #5 0x00007f7ab7dc2cfb raise (/lib/x86_64-linux-gnu/libc.so.6+0x36cfb)
 #6 0x00007f7ab7dad8ad abort (/lib/x86_64-linux-gnu/libc.so.6+0x218ad)
 #7 0x00007f7abb6c88d0 llvm::install_out_of_memory_new_handler()
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/Support/ErrorHandling.cpp:192:0 
 #8 0x00007f7abf95cc7b
llvm::X86TargetLowering::ReplaceNodeResults(llvm::SDNode*,
llvm::SmallVectorImpl<llvm::SDValue>&, llvm::SelectionDAG&) const
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp:0:5
 #9 0x00007f7ab76abc7d llvm::DAGTypeLegalizer::CustomLowerNode(llvm::SDNode*,
llvm::EVT, bool)
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:910:5 
#10 0x00007f7ab76cbaa5 llvm::DAGTypeLegalizer::SplitVectorResult(llvm::SDNode*,
unsigned int)
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp:808:7 
#11 0x00007f7ab76a8314 llvm::DAGTypeLegalizer::run()
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:277:17 
#12 0x00007f7ab76adbab llvm::SelectionDAG::LegalizeTypes()
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp:1115:3 
#13 0x00007f7ab78293c4 llvm::SelectionDAGISel::CodeGenAndEmitDAG()
/usr/local/google/home/rupprecht/src/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:839:13 

Running git bisect points to https://reviews.llvm.org/rL343723 from October of
last year as the culprit.

-- 
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/20190621/7290e614/attachment-0001.html>


More information about the llvm-bugs mailing list