[llvm-commits] [llvm] r56511 - in /llvm/trunk: include/llvm/ lib/AsmParser/ lib/Bitcode/Reader/ lib/Bitcode/Writer/ lib/Target/X86/AsmPrinter/ lib/Transforms/IPO/ lib/Transforms/Scalar/ lib/Transforms/Utils/ lib/VMCore/

Duncan Sands baldrick at free.fr
Wed Sep 24 00:35:32 PDT 2008


> Yep, I think we should migrate things like 'nounwind' to be function  
> attrs (index ~0U) instead of result attrs (index 0).  We need to stay  
> backwards compatible though.

It makes sense for a call to be nounwind even if the callee is a
function that might sometimes unwind (nounwind on the call means
that this particular call is known not to unwind).  Is this
possibility going to be lost?  In practice this functionality is
not being used any more (it used to be used by llvm-gcc for nothrow
regions), but it seems a pity to eliminate it because it makes
logical sense and might be useful to other front-ends.  Likewise
for readonly/readnone: I doubt any front-end is currently generating
readonly/readnone calls to functions that aren't readonly/readnone,
but it seems a pity to disallow this.

Ciao,

Duncan.

PS: Same goes for noinline, alwaysinline!



More information about the llvm-commits mailing list