I am deprecating -forder-file-instrumentation and -enable-order-file-instrumentation in favor of Temporal Profiling for IRPGO as discussed in the RFC.
Hi all,
Our team at Meta would like to propose an extension to IRPGO called Temporal Instrumentation. We use a similar technology to significantly improve mobile app cold start by reducing .text section page faults. We would like to get feedback on this work so we can upstream it to LLVM. Please let us know if you have any questions or have ideas for improvements.
Thanks,
Ellis, Kyungwoo, YongKang, Sergey, Julián, Wenlei
Motivation
PGO has been largely successful at improving performance, e…
Both of these features can be used to instrumented startup function order, but Temporal Profiling is better integrated into IRPGO and is actively maintained and used. I believe that if anyone is using -forder-file-instrumentation they can switch over to IRPGO. If not, please reach out and I might be able to help.
I’ve published Deprecate order file instrumentation by ellishg · Pull Request #121514 · llvm/llvm-project · GitHub to deprecate the flag now, but I won’t remove the feature until LLVM 20 which I think should be released in March. I believe Temporal Profiling has been available since LLVM 17.
CC @manman-ren @davidxl @michaeleisel @serge-sans-paille (folks who have asked about this flag before)
3 Likes
In [InstrProf] Add frontend temporal profiling flag by ellishg · Pull Request #122385 · llvm/llvm-project · GitHub I added the -ftemporal-profile frontend clang flag and added some documentation to describe how to use Temporal Profiling.
Clang Compiler User’s Manual — Clang 20.0.0git documentation
This should help people migrate away from the deprecated flags.
-forder-file-instrumentation has been removed
main ← ellishg:remove-order-file-instrumentation
opened 10:30PM - 06 Mar 25 UTC
Completely remove `-forder-file-instrumentation`. This was deprecated in https:/… /github.com/llvm/llvm-project/pull/121514 and removal was planned in https://discourse.llvm.org/t/deprecate-forder-file-instrumentation-in-favor-of-temporal-profiling/83903. Since LLVM 20 has been cut (https://github.com/llvm/llvm-project/releases/tag/llvmorg-20.1.0), we can remove this feature.
1 Like