[lld] [lld-macho] Document '-icf' flag options (PR #123372)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 17 09:08:14 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-lld

Author: None (alx32)

<details>
<summary>Changes</summary>

Adding the `safe_thunks` option in `Options.td` as it was missing there - mentioned by @<!-- -->Colibrow in https://github.com/llvm/llvm-project/pull/106573 
Also documenting what the various options mean. 

---
Full diff: https://github.com/llvm/llvm-project/pull/123372.diff


1 Files Affected:

- (modified) lld/MachO/Options.td (+6-2) 


``````````diff
diff --git a/lld/MachO/Options.td b/lld/MachO/Options.td
index 4b1e9e4391070d..39191af7dc1692 100644
--- a/lld/MachO/Options.td
+++ b/lld/MachO/Options.td
@@ -82,8 +82,12 @@ def print_dylib_search: Flag<["--"], "print-dylib-search">,
     HelpText<"Print which paths lld searched when trying to find dylibs">,
     Group<grp_lld>;
 def icf_eq: Joined<["--"], "icf=">,
-    HelpText<"Set level for identical code folding (default: none)">,
-    MetaVarName<"[none,safe,all]">,
+    HelpText<"Set level for identical code folding (default: none). Possible values:\n"
+            "  none        - Disable ICF\n"
+            "  safe        - Only folds non-address significant functions (as described by `__addrsig` section)\n"
+            "  safe_thunks - Like safe, but replaces address-significant functions with thunks\n"
+            "  all         - Fold all identical functions">,
+    MetaVarName<"[none,safe,safe_thunks,all]">,
     Group<grp_lld>;
 def keep_icf_stabs: Joined<["--"], "keep-icf-stabs">,
     HelpText<"Generate STABS entries for symbols folded by ICF. These entries can then be used by dsymutil to discover the address range where folded symbols are located.">,

``````````

</details>


https://github.com/llvm/llvm-project/pull/123372


More information about the llvm-commits mailing list