Fix user iteration (#404)
diff --git a/lib/MultiVersionUBOFunctionsPass.cpp b/lib/MultiVersionUBOFunctionsPass.cpp
index 40bab13..ee26f32 100644
--- a/lib/MultiVersionUBOFunctionsPass.cpp
+++ b/lib/MultiVersionUBOFunctionsPass.cpp
@@ -103,7 +103,8 @@
bool local_changed = false;
size_t count = 0;
- for (auto user : fn->users()) {
+ SmallVector<User *, 8> users(fn->users());
+ for (auto user : users) {
if (auto call = dyn_cast<CallInst>(user)) {
std::vector<ResourceInfo> resources;
if (AnalyzeCall(fn, call, &resources)) {