[PATCH] D118663: [AArch64] Adds SUBS and ADDS instructions to the MIPeepholeOpt.

Nathan Chancellor via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 13 21:04:10 PST 2022


nathanchance added a comment.

Thank you for the quick fix! Unfortunately, I still an assertion failure with this patch while building at least `allnoconfig` and `allmodconfig` + ThinLTO kernels, albeit a different one. See below and let me know if there are any problems with reproducing:

  $ cat random.i
  jiffies, primary_crng, input_pool;
  _extract_crng_crng() {
    if ((long)_extract_crng_crng < 0 ||
        (long)(_extract_crng_crng + 300 * 250 - jiffies) < 0)
      crng_reseed(primary_crng ? &input_pool : 0);
  }
  
  $ clang -O2 --target=aarch64-linux-gnu -c -o /dev/null random.i
  ...
  clang: /home/nathan/cbl/src/llvm-project/llvm/lib/CodeGen/LiveVariables.cpp:111: void llvm::LiveVariables::MarkVirtRegAliveInBlock(llvm::LiveVariables::VarInfo &, llvm::MachineBasicBlock *, llvm::MachineBasicBlock *, SmallVectorImpl<llvm:
  :MachineBasicBlock *> &): Assertion `MBB != &MF->front() && "Can't find reaching def for virtreg"' failed.
  PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
  Stack dump:
  0.      Program arguments: clang -O2 --target=aarch64-linux-gnu -c -o /dev/null random.i
  1.      <eof> parser at end of file
  2.      Code generation
  3.      Running pass 'Function Pass Manager' on module 'random.i'.
  4.      Running pass 'Live Variable Analysis' on function '@_extract_crng_crng'
  ...


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D118663



More information about the llvm-commits mailing list