[llvm-commits] [llvm] r70790 - /llvm/trunk/docs/LangRef.html

Duncan Sands baldrick at free.fr
Sun May 3 13:06:28 PDT 2009


Hi Chris,

> Remove obsolete wording, the only exception a readnone function can throw
> is the empty set. :)  Thanks to Fritz for pointing this out.

what's wrong with a readonly function using unwind?  I think
the use of unwind is orthogonal to readonly: it's what the
nounwind attribute is for.  Of course a readonly function can't
call the C++ throw routine etc, but that's a different issue.
If you want readonly to mean: doesn't do anything annoying
(no side-effects), then the name should be changed, and the
function attributes taught to do loop analysis and not mark
a function readonly unless all loops are finite etc.  I think
it is better to keep readonly and nounwind separate.

Ciao,

Duncan.



More information about the llvm-commits mailing list