[PATCH] D127154: [AArch64] Remove isDef32

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 8 01:04:31 PDT 2022


mstorsjo added a comment.

This triggers failed asserts for me:

  $ cat repro.c
  typedef int a;
  typedef unsigned b;
  int c, k, n;
  b l;
  void o();
  typedef struct {
    a d, e;
    b f;
    b g;
    b h;
    b i
  } j;
  j m;
  void p() {
    b q, r, s;
    for (;;) {
      if (c) {
        r = k - m.d;
        s = -m.e;
        q = -r;
      } else {
        r = m.h - m.f;
        s = m.i - m.g;
      }
      for (; l < s;) {
        o(r * sizeof(a));
        n = r + q;
      }
    }
  }
  $ clang -target aarch64-linux-gnu -c repro.c -O2
  clang: ../lib/CodeGen/MachineRegisterInfo.cpp:399: llvm::MachineInstr* llvm::MachineRegisterInfo::getVRegDef(llvm::Register) const: Assertion `(I.atEnd() || std::next(I) == def_instr_end()) && "getVRegDef assumes a single definition or no definition"' failed.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D127154



More information about the llvm-commits mailing list