llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.63k stars 11.83k forks source link

Machine loops (?) crash: Instruction does not dominate all uses! #10942

Closed llvmbot closed 2 years ago

llvmbot commented 13 years ago
Bugzilla Link 10570
Resolution DUPLICATE
Resolved on Nov 30, 2011 00:28
Version 2.9
OS Linux
Blocks llvm/llvm-bugzilla-archive#11447
Attachments testcase .ll
Reporter LLVM Bugzilla Contributor
CC @atrick,@efriedma-quic,@sunfishcode

Extended Description

$ llc dom.ll -debug-pass=Arguments Pass Arguments: -targetdata -no-aa -tbaa -basicaa -collector-metadata -machinemoduleinfo -preverify -domtree -verify -loops -loop-simplify -scalar-evolution -loop-simplify -iv-users -loop-reduce -gc-lowering -unreachableblockelim -codegenprepare -stack-protector -preverify -verify -loops -branch-prob -opt-phis -dead-mi-elimination -machinedomtree -machine-loops -machinelicm -machine-cse -machine-sink -peephole-opts -unreachable-mbb-elimination -livevars -phi-node-elimination -twoaddressinstruction -processimpdefs -slotindexes -liveintervals -livedebugvars -simple-register-coalescing -calcspillweights -livestacks -virtregmap -edge-bundles -spill-code-placement -stack-slot-coloring -machinelicm -edge-bundles -prologepilog -machinedomtree -machine-loops -machine-loops Instruction does not dominate all uses! %0 = add i64 48, 48 %tmp = add i64 %0, -48 Broken module found, compilation aborted! ... 7 llc 0x000000000149242b llvm::FPPassManager::runOnFunction(llvm::Function&) + 431 8 llc 0x000000000149266a llvm::FPPassManager::runOnModule(llvm::Module&) + 102 9 llc 0x000000000149299a llvm::MPPassManager::runOnModule(llvm::Module&) + 456 10 llc 0x0000000001492e8c llvm::PassManagerImpl::run(llvm::Module&) + 130 11 llc 0x0000000001493293 llvm::PassManager::run(llvm::Module&) + 39 12 llc 0x0000000000a8b2db main + 2617 13 libc.so.6 0x00007faef0fb8e1f __libc_start_main + 255 14 llc 0x0000000000a8a199 Stack dump:

  1. Program arguments: llc dom.ll -debug-pass=Arguments
  2. Running pass 'Function Pass Manager' on module 'dom.ll'.
  3. Running pass 'Module Verifier' on function '@sqlite3DropTriggerPtr' Aborted (core dumped)
atrick commented 2 years ago

mentioned in issue llvm/llvm-bugzilla-archive#11447

atrick commented 2 years ago

mentioned in issue llvm/llvm-bugzilla-archive#11431

atrick commented 12 years ago

Fixed in r145484.

This bug has been marked as a duplicate of bug llvm/llvm-bugzilla-archive#11431

sunfishcode commented 13 years ago

reduced testcase This is related to LSR's handling of post-incremented iv uses. Attached is a reduced testcase.

atrick commented 13 years ago

I'm calling this an LSR bug, as it goes away with -disable-lsr.