urnathan wrote:

> > > Note that changing the memory accesses performed by clang (load or store) 
> > > _is_ an ABI change at IR level because of UB.
> > 
> > 
> > Could you clarify why UB is a consideration here?
> 
> There's some weirdness with poison values; see 
> https://reviews.llvm.org/D129541 etc. This is mostly an IR modeling thing; 
> the machine instructions work fine, we just need to make sure we don't 
> accidentally poison IR values that aren't supposed to be poison.

Certainly, by could you clarify why changing the access patterns could do that? 
 My understanding of Poison is that should they cause a user-visible state 
change, that's indicative of the original progam's UB, and the languages in 
question don't guarantee anything at that point -- nasal demons and all. That 
the observed behaviour of a UB-exhibiting program changes is not a defect.  
What am I missing?


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

Reply via email to