[LLVMdev] The nsw story

David A. Greene greened at obbligato.org
Thu Dec 1 09:35:04 PST 2011


Paul Robinson <pogo.work at gmail.com> writes:

> Some operations are NaT-tolerant; any input NaT is simply propagated
> to the output. Arithmetic, sign-extension, bit fiddling, and the like
> are NaT-tolerant.

Oh yeah, I forgot about that.  Forget all the stuff I said about "base
formulation" and complicating that.  :)

> I suggest that storing to memory, and conditionals, and anything
> else that seems to lead toward the really hairy situations, should
> be cases where the nsw/poison/trap is "actually observed."

Agreed.

> This is taking a broader view of "observable" than what's defined in the
> C or C++ standards, which steadfastly ignore a variety of practical realities.
> But I think it's a reasonable and defensible position, that still allows you
> some scope for operating on these things in a sensible way.

I like this approach a lot.

                         -Dave



More information about the llvm-dev mailing list