Hi, I accidentally defined a cyclic struct, and llc 6.0.0 crashes. I would have expected a meaningful error message, rather than a crash. Minimal example attached. Has this been fixed already? If not, can I test this against the latest LLVM version without locally installing/compiling the whole thing, or should I file a bug report against LLVM-6.0.0? --- cyclic_type.ll: target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-pc-linux-gnu" %T1 = type { %T2 } %T2 = type { %T1 } define %T2 @f() { ret %T2 zeroinitializer }> llc -O0 cyclic_type.ll[...] Floating point exception (core dumped) Full output: lammich at lapnipkow10:~/tmp/llvm_test$ llc -O0 cyclic_type.ll /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm3sys15PrintStackTraceERNS_11raw_ostreamE+0x2a)[0x7f871 c1fb2ea] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm3sys17RunSignalHandlersEv+0x3e)[0x7f871c1f94ae] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0x8635fc)[0x7f871c1f95fc] /lib/x86_64-linux-gnu/libc.so.6(+0x354b0)[0x7f871b27f4b0] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm12StructLayoutC2EPNS_10StructTypeERKNS_10DataLayoutE+0 x11f)[0x7f871c25e68f] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZNK4llvm10DataLayout15getStructLayoutEPNS_10StructTypeE+0x284 )[0x7f871c25eed4] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZNK4llvm10DataLayout12getAlignmentEPNS_4TypeEb+0x12b)[0x7f871 c25fcab] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm12StructLayoutC2EPNS_10StructTypeERKNS_10DataLayoutE+0 xd3)[0x7f871c25e643] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZNK4llvm10DataLayout15getStructLayoutEPNS_10StructTypeE+0x284 )[0x7f871c25eed4] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm15ComputeValueVTsERKNS_14TargetLoweringERKNS_10DataLay outEPNS_4TypeERNS_15SmallVectorImplINS_3EVTEEEPNS8_ImEEm+0x88)[0x7f871c 344848] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm13GetReturnInfoEPNS_4TypeENS_13AttributeListERNS_15Sma llVectorImplINS_3ISD9OutputArgEEERKNS_14TargetLoweringERKNS_10DataLayou tE+0x80)[0x7f871c5fc620] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm20FunctionLoweringInfo3setERKNS_8FunctionERNS_15Machin eFunctionEPNS_12SelectionDAGE+0xe1)[0x7f871c69bd21] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15Machine FunctionE+0x41d)[0x7f871c7cb73d] /usr/lib/x86_64-linux-gnu/libLLVM-6.0.so.1(+0x23296c4)[0x7f871dcbf6c4] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x 91)[0x7f871c47e3f1] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x1f2)[0 x7f871c2c8a22] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x33)[0x7f87 1c2c8ad3] /usr/lib/x86_64-linux-gnu/libLLVM- 6.0.so.1(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x30f)[0x7f8 71c2c866f] llc[0x4200c6] llc(main+0x3ad)[0x4156ad] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f871b26a830] llc(_start+0x29)[0x415869] Stack dump: 0. Program arguments: llc -O0 cyclic_type.ll 1. Running pass 'Function Pass Manager' on module 'cyclic_type.ll'. 2. Running pass 'X86 DAG->DAG Instruction Selection' on function ' @f' Floating point exception (core dumped)
On 1/18/2019 10:45 AM, Peter Lammich via llvm-dev wrote:> Hi, > > I accidentally defined a cyclic struct, and llc 6.0.0 crashes. I would > have expected a meaningful error message, rather than a crash. > Minimal example attached. > > Has this been fixed already? If not, can I test this against the latest > LLVM version without locally installing/compiling the whole thing, or > should I file a bug report against LLVM-6.0.0?I just quickly checked, crashes the same way on trunk. -Eli -- Employee of Qualcomm Innovation Center, Inc. Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project