[clang] nonblocking/nonallocating attributes: 2nd pass caller/callee analysis (PR #99656)
Doug Wyatt via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 14 08:48:05 PDT 2024
================
@@ -4914,6 +4920,78 @@ class FunctionEffectsRef {
void dump(llvm::raw_ostream &OS) const;
};
+/// A mutable set of FunctionEffect::Kind.
+class FunctionEffectKindSet {
----------------
dougsonos wrote:
I agree that this can and should use `std::bitset` instead of reinventing it, as a representation, but that doesn't help with the problem of iterating through the set bits, and a lot of code wants to iterate through these sets.
The only alternative I can think of is a `for_each()` method. Sometimes that can be messier than it's worth and sometimes it is better than a special iterator. Will try it.
https://github.com/llvm/llvm-project/pull/99656
More information about the cfe-commits
mailing list