summaryrefslogtreecommitdiff
path: root/src/ir/module-utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir/module-utils.h')
-rw-r--r--src/ir/module-utils.h7
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,