[llvm-branch-commits] [ModuleUtils] Add	updateGlobalCtors/updateGlobalDtors (PR #101757)
    Thurston Dang via llvm-branch-commits 
    llvm-branch-commits at lists.llvm.org
       
    Fri Aug  2 16:41:16 PDT 2024
    
    
  
================
@@ -44,6 +45,14 @@ void appendToGlobalCtors(Module &M, Function *F, int Priority,
 void appendToGlobalDtors(Module &M, Function *F, int Priority,
                          Constant *Data = nullptr);
 
+/// Apply 'Fn' to the list of global ctors of module M and replace contructor
+/// record with the one returned by `Fn`. If `nullptr` was returned, the
+/// corresponding constructor will be removed from the array. For details see
+/// https://llvm.org/docs/LangRef.html#the-llvm-global-ctors-global-variable
+using GlobalCtorUpdateFn = llvm::function_ref<Constant *(Constant *)>;
+void updateGlobalCtors(Module &M, const GlobalCtorUpdateFn &Fn);
----------------
thurstond wrote:
'updateGlobalCtors' is a very generic name - is there a name that could be descriptive? (e.g., it's somewhat similar to 'map' in Haskell/Python or std::transform.)
https://github.com/llvm/llvm-project/pull/101757
    
    
More information about the llvm-branch-commits
mailing list