Displaying 1 result from an estimated 1 matches for "maynotreturn".
2013 Mar 09
1
[LLVMdev] Does a recursive call have side effects?
...removal of infinite loops. But I need to be certain. Can someone confirm? Standard citations welcome.
Otherwise this is wrong:
bool mayHaveSideEffects() const {
return mayWriteToMemory() || mayThrow() || !mayReturn();
}
Note: For non-C support, it would be nice to have another attribute, maynotreturn (in C everything is mustreturn by default). In theory, if we had that, the C frontend could use it for potentially recursive calls, forcing the optimizer to either prove it's not recursive or consider it to have side effects. But if the function had nontrivial loops, the optimizer won't be...