[flang-commits] [clang] [flang] [FLANG][Driver] Support -fno-profile-generate and -fprofile-generate=<dir> in flang (PR #216643)
Kaviya Rajendiran via flang-commits
flang-commits at lists.llvm.org
Wed Aug 19 10:31:39 PDT 2026
================
@@ -497,8 +497,18 @@ static void parseCodeGenArgs(Fortran::frontend::CodeGenOptions &opts,
opts.IsPIE = 1;
}
- if (args.hasArg(clang::options::OPT_fprofile_generate)) {
- opts.setProfileInstr(llvm::driver::ProfileInstrKind::ProfileIRInstr);
+ if (const llvm::opt::Arg *a =
----------------
kaviya2510 wrote:
As you mentioned, Clang converts `-fprofile-generate=<dir>` to `-fprofile-instrument-path=` in the driver and `-cc1` uses that to set `InstrProfileOutput`. Flang currently achieves the same result of setting `InstrProfileOutput`, but it handles `-fprofile-generate=<dir>` directly in `fc1` instead of using `-fprofile-instrument-path=`
We do have plans to add support for other pgo options such as `-fprofile-selected-function-group` and `-fcs-profile-generate`, so it make sense to align flang with clang's approach by having the driver forward `-fprofile-instrument-path=` to fc1. This would let us reuse the existing `Options.td` marshalling infrastructure and keep the frontend logic simpler.
I will mark it as a TODO and handle the refactoring in the future PRs.
https://github.com/llvm/llvm-project/pull/216643
More information about the flang-commits
mailing list