llvm-project
ebb04b2b - [profcheck] Propagate profile metadata to Wrapper function in optimize mode of ExpandVariadic. (#168161)

Commit
149 days ago
[profcheck] Propagate profile metadata to Wrapper function in optimize mode of ExpandVariadic. (#168161) This PR fixes the issue where profile metadata (`!prof`) is dropped from the `VariadicWrapper` when `ExpandVariadics` runs in `--expand-variadics-override=optimize` mode. In optimize mode, the pass splits the original variadic function into two parts: - A **VariadicWrapper** (retaining the original name) that handles the `va_list` setup. - A **FixedArityReplacement** (new function) that contains the original core logic. During this process, the basic blocks and associated metadata are spliced into the `FixedArityReplacement`. Consequently, the `VariadicWrapper`—which serves as the entry point for callers—is left without function entry count metadata. This change explicitly copies the `MD_prof` metadata from the `FixedArityReplacement` back to the `VariadicWrapper` after the split is defined. Co-authored-by: Jin Huang <jingold@google.com>
Author
Parents
Loading