frederick-vs-ja wrote:

> * with `-fstrict-vtable-pointers` flag, we update the vtpr assumption 
> correctly (mark the load/store vptr with appropriate invariant group 
> intrinsics) to prevent incorrect vptr load folding;

I _guess_ we want a variant of this intrinsic which doesn't affect analyzation 
for devirtualization. Such an intrinsic should be sufficient for **C++23** 
`std::start_lifetime_as(_array)`.

> * for now, it is non-constant, thus cannot be executed in constant evaluation;

It seems intended that `std::start_lifetime_as(_array)` is not usable in 
constant evaluation, as the indeterminism of implicit object creation doesn't 
seem compatible with constant evaluation.


https://github.com/llvm/llvm-project/pull/82776
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to