New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support nothrow attribute on function calls #1517
Comments
this is akin to the existing "noreturn" attribute, not a big deal. |
yep |
This patch: adds a "NoUnwindAttribute" to the FunctionType class's list of attributes. No |
doesn't this need asm/bc support? |
Did I close the PR? :) Nothing needs to be done for bytecode, its just stored as an integer bit mask. |
These patches add assembly support for nounwind and noreturn attributes: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070319/046082.html Test case is here: Both nothrow and noreturn are now fully supported in VMCore, Bytecode, and |
Extended Description
With exception table support under development, it will soon be useful to know if a function can throw or
not. The front-end has this info for some functions (those marked throw()) and the prune-eh pass
computes this info, but there is no way to record this info in the IR for the code generator to use.
It should be straight-forward to add an attribute to functions to indicate that they cannot throw. If the
front-end sets this, it will make the prune-eh pass more effective (deleting more landing pads) and the
code generator can then start using it.
-Chris
The text was updated successfully, but these errors were encountered: