diff options
Diffstat (limited to 'src/ir/module-utils.h')
-rw-r--r-- | src/ir/module-utils.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ir/module-utils.h b/src/ir/module-utils.h index 190191cd7..0a101e5da 100644 --- a/src/ir/module-utils.h +++ b/src/ir/module-utils.h @@ -393,6 +393,13 @@ template<typename T> struct CallGraphPropertyAnalysis { // addProperty() - Adds the property. // logVisit() - Log each visit of the propagation. This is called before // we check if the function already has the property. + // + // Note that the order of propagation here is *not* deterministic, for + // efficiency reasons (specifically, |calledBy| is unordered and also is + // generated by |callsTo| which is likewise unordered). If the order matters + // we could add an ordered variant of this. For now, users that care about + // ordering in the middle need to handle this (e.g. Asyncify - if we add such + // an ordered variant, we could use it there). void propagateBack(std::function<bool(const T&)> hasProperty, std::function<bool(const T&)> canHaveProperty, std::function<void(T&)> addProperty, |