[PATCH] D123300: [Clang] Enable opaque pointers by default
Manoj Gupta via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 14 17:59:33 PDT 2022
manojgupta added a comment.
We noticed a new crash that still repros at head.
clang -target armv7a-linux-gnueabihf -march=armv8a -mthumb -c -O2 file.cc
llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:10135: llvm::Value *llvm::VPTransformState::get(llvm::VPValue *, unsigned int): Assertion `(isa<VPWidenIntOrFpInductionRecipe>(Def->getDef()) || isa<VPScalarIVStepsRecipe>(Def->getDef())) && "unexpected recipe found to be invariant"' failed.
C
struct b;
struct c {
using a = b *;
};
struct d {
d(c::a);
};
struct g;
struct i {
typedef g *a;
};
struct g {
typedef i::a e;
e f;
} * h;
struct o {
typedef g ::e e;
};
struct p;
struct H {
typedef g &a;
};
template <typename> struct q;
template <typename bq> struct q<bq *> {
static bq *bu(H::a r) {
g &j = r;
h = &j;
return h;
}
};
struct s : g {
e cf() { return q<e>::bu(*this); }
};
struct t {
s ck;
};
template <class cg> struct K {
typedef cg bf;
typedef typename bf::ce ce;
struct cs {
cs(bf) {}
t cp;
} co;
K() : co(bf()) {
typename ce::e k = co.cp.ck.cf();
k->f = k;
}
};
struct L {
typedef K<p> a;
};
struct p {
typedef o ce;
};
struct b : L::a {};
struct M {
int l;
using m = b;
d n{new m[l]};
};
void u() { new M; }
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D123300/new/
https://reviews.llvm.org/D123300
More information about the llvm-commits
mailing list