[LLVMdev] Proposal for Poison Semantics
John Regehr
regehr at cs.utah.edu
Wed Feb 4 09:13:44 PST 2015
> I think such a thing would be great. However, there is a problem that the RFC wasn't aware of when it was
> written:
>
> consider:
> %S = select %A, %B, undef
>
> without us knowing anything about %A or %B, we will replace all uses of %S with %B. This transform would be
> considered wrong with the RFC in mind.
>
> If this transform was valid, there could not be any value or value-like property in LLVM with semantics more
> powerful than undef. This makes me think that what LLVM *actually* implements is not poison or something like
> it.
Is it possible that the new weaker poison subsumes undef? The interaction
between these different but related UB-like concepts is confusing at best.
John
More information about the llvm-dev
mailing list