-
Notifications
You must be signed in to change notification settings - Fork 14.7k
Open
Description
I noticed invalid code generation using -fstrict-vtable-pointers
on clang 18.1.0.
Here is a repro: https://godbolt.org/z/h9bx14bWG
Notice the @llvm.memcpy.p0.p0.i64
call with an undef
parameter, it seems to be the cause of the runtime crash.
Notes:
- Bisecting on llvm passes (argument
-mllvm -opt-bisect-limit=
), I found that the issue appears with an SROA pass. - The generated code was valid with clang 17.0.1. By bisecting on git, the invalid generation started with the commit from this PR: [SROA] Allow
llvm.launder.invariant.group
intrinsic to be splittable #72056
@antoniofrighetto @nikic could you identify whether this is an SROA bug?