[NFC][Profile] Access profile through VirtualFileSystem
authorSteven Wu <stevenwu@apple.com>
Wed, 1 Feb 2023 17:24:44 +0000 (09:24 -0800)
committerSteven Wu <stevenwu@apple.com>
Wed, 1 Feb 2023 17:25:02 +0000 (09:25 -0800)
commit516e301752560311d2cd8c2b549493eb0f98d01b
treea6b555b8afe603a15ec28515436a074ea2157edc
parent62bd944e42472b7aa01fe6f662d848d76a96b8f8
[NFC][Profile] Access profile through VirtualFileSystem

Make the access to profile data going through virtual file system so the
inputs can be remapped. In the context of the caching, it can make sure
we capture the inputs and provided an immutable input as profile data.

Reviewed By: akyrtzi, benlangmuir

Differential Revision: https://reviews.llvm.org/D139052
34 files changed:
clang/include/clang/CodeGen/BackendUtil.h
clang/lib/CodeGen/BackendUtil.cpp
clang/lib/CodeGen/CodeGenAction.cpp
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
clang/lib/Frontend/CompilerInvocation.cpp
llvm/include/llvm/CodeGen/MIRSampleProfile.h
llvm/include/llvm/CodeGen/Passes.h
llvm/include/llvm/Passes/PassBuilder.h
llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
llvm/include/llvm/ProfileData/InstrProfReader.h
llvm/include/llvm/ProfileData/SampleProfReader.h
llvm/include/llvm/Support/PGOOptions.h
llvm/include/llvm/Transforms/IPO/SampleProfile.h
llvm/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h
llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
llvm/lib/CodeGen/MIRSampleProfile.cpp
llvm/lib/CodeGen/TargetPassConfig.cpp
llvm/lib/LTO/LTOBackend.cpp
llvm/lib/Passes/PassBuilderPipelines.cpp
llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
llvm/lib/ProfileData/InstrProf.cpp
llvm/lib/ProfileData/InstrProfReader.cpp
llvm/lib/ProfileData/SampleProfReader.cpp
llvm/lib/Support/CMakeLists.txt
llvm/lib/Support/PGOOptions.cpp [new file with mode: 0644]
llvm/lib/Target/X86/X86InsertPrefetch.cpp
llvm/lib/Transforms/IPO/SampleProfile.cpp
llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
llvm/tools/llvm-cov/CodeCoverage.cpp
llvm/tools/llvm-profdata/llvm-profdata.cpp
llvm/tools/llvm-profgen/llvm-profgen.cpp
llvm/tools/opt/NewPMDriver.cpp
llvm/unittests/ProfileData/SampleProfTest.cpp