[PATCH] D155811: MachineSink: Fix strict weak ordering in GetAllSortedSuccessors

Danila Kutenin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 26 03:14:14 PDT 2023


danlark added a comment.

In D155811#4520726 <https://reviews.llvm.org/D155811#4520726>, @arsenm wrote:

> Testcase?

In libcxx debug mode at head (with https://reviews.llvm.org/D150264) we have `pseudo_cmov_lower2.ll.test` which fails before the patch and passes after that:

  Stack dump:
  0.  Program arguments: llc -mtriple=x86_64-linux-gnu -o -
  1.  Running pass 'Function Pass Manager' on module '<stdin>'.
  2.  Running pass 'Machine code sinking' on function '@foo5'
   #0 0x000055e9b3706d3e llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (+0x6906d3e)
   #1 0x000055e9b370742c SignalHandler(int) Signals.cpp:0:0
   #2 0x00007f2c887931c0 __restore_rt (/usr/grte/v5/lib64/libpthread.so.0+0x151c0)
   #3 0x00007f2c8863a347 gsignal (/usr/grte/v5/lib64/libc.so.6+0x75347)
   #4 0x00007f2c8863b797 abort (/usr/grte/v5/lib64/libc.so.6+0x76797)
   #5 0x000055e9b3a0e597 (+0x6c0e597)
   #6 0x000055e9b2496dc9 (anonymous namespace)::MachineSinking::FindSuccToSinkTo(llvm::MachineInstr&, llvm::MachineBasicBlock*, bool&, std::__u::map<llvm::MachineBasicBlock*, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>, std::__u::less<llvm::MachineBasicBlock*>, std::__u::allocator<std::__u::pair<llvm::MachineBasicBlock* const, llvm::SmallVector<llvm::MachineBasicBlock*, 4u>>>>&) MachineSink.cpp:0:0
   #7 0x000055e9b2491d21 (anonymous namespace)::MachineSinking::runOnMachineFunction(llvm::MachineFunction&) MachineSink.cpp:0:0
   #8 0x000055e9b23e3fdc llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (+0x55e3fdc)
   #9 0x000055e9b34d43f4 llvm::FPPassManager::runOnFunction(llvm::Function&) (+0x66d43f4)
  #10 0x000055e9b34d9ce2 llvm::FPPassManager::runOnModule(llvm::Module&) (+0x66d9ce2)
  #11 0x000055e9b34d4a9d llvm::legacy::PassManagerImpl::run(llvm::Module&) (+0x66d4a9d)
  #12 0x000055e9b0d75ef5 compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
  #13 0x000055e9b0d737af main (+0x3f737af)
  #14 0x00007f2c88626633 __libc_start_main (/usr/grte/v5/lib64/libc.so.6+0x61633)
  #15 0x000055e9b0d7322a _start (+0x3f7322a)
  FileCheck error: '<stdin>' is empty.
  FileCheck command line:  llvm/llvm-project/llvm/FileCheck --allow-unused-prefixes llvm/llvm-project/llvm/test/CodeGen/X86/pseudo_cmov_lower2.ll


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D155811/new/

https://reviews.llvm.org/D155811



More information about the llvm-commits mailing list