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
Missing LangRef documentation for nocallback
#58683
Comments
There is a LangRef patch in https://reviews.llvm.org/D131628, but there are disagreements about the semantics. |
The main problem is that since the clang leaf attribute is mapped one-to-one to the LLVM attribute, we have to follow gcc's semantics. So, either we implement a safe version of the semantics, or we go with the less safe semantics w.r.t. to IPO and document that in clang's documentation. |
This is not how things should work, so https://reviews.llvm.org/D90275 should be reverted. |
Please go ahead @nunoplopes and remove this undocumented attribute. |
Just to clarify: I implemented |
I'm sorry you had such a first experience. It wasn't supposed to be like that. |
Please note that it's no longer going to be very straightforward to revert https://reviews.llvm.org/D90275: the nocallback attribute has worked its way into a fair number of LLVM passes since 2020. It seems like it would be better to continue the semantics discussion, but document LLVM's current behavior in the mean time. |
I doubt it is as easy as you make this sound (as @mysterymath noted). That said, we also have a community agreement against arbitrary deadlines. Now to the problem at hand: |
I have landed https://reviews.llvm.org/D131628 and https://reviews.llvm.org/D137360 to fix this issue. |
As the title says: there's a
nocallback
attribute but zero mentions of it in LangRef or anywhere else in the llvm/docs/ folder.Digging in the history a bit, it seems like it's related to
__attribute__((leaf))
. The lack of LangRef documentation was noted in the Phabricator review in 2020 and again in 2021 and 2022 but has apparently still not been addressed.cc @gulfemsavrun @jdoerfert @nunoplopes
The text was updated successfully, but these errors were encountered: