diff options
Diffstat (limited to 'contrib/llvm-project/llvm/include/llvm/IR/GlobalIFunc.h')
-rw-r--r-- | contrib/llvm-project/llvm/include/llvm/IR/GlobalIFunc.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/include/llvm/IR/GlobalIFunc.h b/contrib/llvm-project/llvm/include/llvm/IR/GlobalIFunc.h index 976772b343fd..c148ee790778 100644 --- a/contrib/llvm-project/llvm/include/llvm/IR/GlobalIFunc.h +++ b/contrib/llvm-project/llvm/include/llvm/IR/GlobalIFunc.h @@ -93,6 +93,12 @@ public: static bool classof(const Value *V) { return V->getValueID() == Value::GlobalIFuncVal; } + + // Apply specific operation to all resolver-related values. If resolver target + // is already a global object, then apply the operation to it directly. If + // target is a GlobalExpr or a GlobalAlias, evaluate it to its base object and + // apply the operation for the base object and all aliases along the path. + void applyAlongResolverPath(function_ref<void(const GlobalValue &)> Op) const; }; template <> |