frederick-vs-ja wrote:

> This does something both useful and correct with `-fno-strict-aliasing`.

I'm not sure whether an instrinsic is even needed with `-fno-strict-aliasing`. 
IIUC `std::start_lifetime_as` mainly tells the compiler that the types of data 
in the storage can be changed (indeterminately) with the object representations 
unchanged. This behaves like some fence for TBAA.

> we can now observe them and use them to validate e.g. the `llvm.tbaa.fence` 
> proposal.

Yeah. I guess we need to implement `std::start_lifetime_as(_array)` with 
`llvm.tbaa.fence`.

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