================ @@ -0,0 +1,145 @@ +// Test that type metadata are emitted with -fprofile-generate +// +// RUN: %clang -fprofile-generate -fno-lto -target x86_64-unknown-linux -emit-llvm -S %s -o - | FileCheck %s --check-prefix=ITANIUM +// RUN: %clang -fprofile-generate -fno-lto -target x86_64-pc-windows-msvc -emit-llvm -S %s -o - | FileCheck %s --check-prefix=MS ---------------- minglotus-6 wrote:
thanks! I updated the existing test (and removed the forked one) by only generating `!type` annotations iff clang cc1 option `-fprofile-instrument` is set to `llvm` (the FDO build). CS-FDO and clang instrumentation sets this cc1 option differently, and it's intentional for this PR not to emit `!type` in these two settings mainly because there is no usage. A longer story from some interesting findings when I tried to figured out how clang options work for the use case in this pr. Currently, clang driver accepts two options for FDO 1. `-fprofile-generate` (a [`Flag`](https://github.com/llvm/llvm-project/blob/c14e086b23929b0ac7092c45349a4f9749eda39c/clang/include/clang/Driver/Options.td#L1653) option that doesn't accept value according to https://clang.llvm.org/docs/InternalsManual.html#adding-new-command-line-option 2. `-fprofile-generate=` (a [`Joined`](https://github.com/llvm/llvm-project/blob/c14e086b23929b0ac7092c45349a4f9749eda39c/clang/include/clang/Driver/Options.td#L1656) option that accepts the value I initially add [`CC1Option`](https://github.com/llvm/llvm-project/blob/c14e086b23929b0ac7092c45349a4f9749eda39c/clang/include/clang/Driver/Options.td#L64) to both (and added corresponding codegen options); and during this process found `-fprofile-instrument=llvm` is true if clang user either specified `-fprofile-generate` or `-fprofile-generate=path/to` (but not CS-FDO or clang instrumentation FDO), so decided to just rely on this. https://github.com/llvm/llvm-project/pull/70841 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits