Skip to content

Integer division of types larger than 128-bits reports a fatal error in the DAG legalizer #44994

Closed
@erichkeane

Description

@erichkeane
Bugzilla Link 45649
Version trunk
OS Linux
CC @Quuxplusone,@chfast,@efriedma-quic,@LebedevRI,@RKSimon,@nunoplopes,@rotateright

Extended Description

https://godbolt.org/z/nCa-4f

; Function Attrs: noinline nounwind optnone uwtable
define dso_local i129 @_Z3divU7_ExtIntILi129EEiS_(i129 %0, i129 %1) #0  {
  %3 = alloca i129, align 8
  %4 = alloca i129, align 8
  store i129 %0, i129* %3, align 8
  store i129 %1, i129* %4, align 8
  %5 = load i129, i129* %3, align 8 
  %6 = load i129, i129* %4, align 8
  %7 = sdiv i129 %5, %6
  ret i129 %7 
}

LLVM ERROR: Unsupported library call operation!

PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.

Stack dump:

0.	Program arguments: /opt/compiler-explorer/clang-trunk/bin/llc -o ./output.s -x86-asm-syntax=intel <source> 
1.	Running pass 'Function Pass Manager' on module '<source>'.
2.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@_Z3divU7_ExtIntILi129EEiS_'
 #0 0x000056238dd98b3a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x24a3b3a)
 #1 0x000056238dd96994 llvm::sys::RunSignalHandlers() (/opt/compiler-explorer/clang-trunk/bin/llc+0x24a1994)
 #2 0x000056238dd96ae3 SignalHandler(int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x24a1ae3)
 #3 0x00007fca314ff890 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12890)
 #4 0x00007fca303dae97 raise (/lib/x86_64-linux-gnu/libc.so.6+0x3ee97)
 #5 0x00007fca303dc801 abort (/lib/x86_64-linux-gnu/libc.so.6+0x40801)
 #6 0x000056238dd1660e llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/compiler-explorer/clang-trunk/bin/llc+0x242160e)
 #7 0x000056238dd16738 (/opt/compiler-explorer/clang-trunk/bin/llc+0x2421738)
 #8 0x000056238dc40488 llvm::TargetLowering::makeLibCall(llvm::SelectionDAG&, llvm::RTLIB::Libcall, llvm::EVT, llvm::ArrayRef<llvm::SDValue>, llvm::TargetLowering::MakeLibCallOptions, llvm::SDLoc const&, llvm::SDValue) const (/opt/compiler-explorer/clang-trunk/bin/llc+0x234b488)
 #9 0x000056238dcb8e50 llvm::DAGTypeLegalizer::ExpandIntRes_SDIV(llvm::SDNode*, llvm::SDValue&, llvm::SDValue&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x23c3e50)
#10 0x000056238dcccf8b llvm::DAGTypeLegalizer::ExpandIntegerResult(llvm::SDNode*, unsigned int) (/opt/compiler-explorer/clang-trunk/bin/llc+0x23d7f8b)
#11 0x000056238dc5faa5 llvm::DAGTypeLegalizer::run() (/opt/compiler-explorer/clang-trunk/bin/llc+0x236aaa5)
#12 0x000056238dc6019e llvm::SelectionDAG::LegalizeTypes() (/opt/compiler-explorer/clang-trunk/bin/llc+0x236b19e)
#13 0x000056238dbff250 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/opt/compiler-explorer/clang-trunk/bin/llc+0x230a250)
#14 0x000056238dc036ac llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x230e6ac)
#15 0x000056238dc0560d llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (.part.809) (/opt/compiler-explorer/clang-trunk/bin/llc+0x231060d)
#16 0x000056238cbc61f2 (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x12d11f2)
#17 0x000056238d330e10 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x1a3be10)
#18 0x000056238d6e2277 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x1ded277)
#19 0x000056238d6e2961 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x1ded961)
#20 0x000056238d6e2d61 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x1dedd61)
#21 0x000056238bff568e compileModule(char**, llvm::LLVMContext&) (/opt/compiler-explorer/clang-trunk/bin/llc+0x70068e)
#22 0x000056238bf5612f main (/opt/compiler-explorer/clang-trunk/bin/llc+0x66112f)
#23 0x00007fca303bdb97 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21b97)
#24 0x000056238bfeefaa _start (/opt/compiler-explorer/clang-trunk/bin/llc+0x6f9faa)

Compiler returned: 255

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions