[llvm] [RISCV] Be more aggressive about shrinking constant build_vector etype (PR #67175)

via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 5 01:19:59 PDT 2023


bgra8 wrote:

@preames this is causing a clang crash on some of our internal code.

Here's a small repro:

```
char a;
struct k {
  int *c = nullptr;
  void *d = nullptr;
  void *e = nullptr;
  char *f = nullptr;
  int g = -1;
  int cpu = -1;
  long h = -1;
  char *i = nullptr;
  char *j = nullptr;
};
struct l {
  l(k *);
};
void n() {
  k m;
  if (a)
    l b(&m);
}
```

Clang compilation command:

```
build/clang \
  -mtune=sifive-x280 -target riscv64-unknown-linux-generic -march=rv64gcv1p0_zfh_zvfh_xsfvcp  \
  -O1 -std=gnu++17 -fno-exceptions \
  -c /tmp/repro.cc     \
  -o /tmp/repro.o
```

The crash goes away after revision 95ce3c23c2597c882aa01fa31c70e3d5413a9c6e but it would be great to confirm it wasn't just hidden by that change. (fyi @topperc)

https://github.com/llvm/llvm-project/pull/67175


More information about the llvm-commits mailing list