[Lldb-commits] [clang-tools-extra] [compiler-rt] [flang] [llvm] [lldb] [mlir] [clang] [Profile] Add binary profile correlation to offload profile metadata at runtime. (PR #69493)
Fangrui Song via lldb-commits
lldb-commits at lists.llvm.org
Thu Nov 9 22:23:02 PST 2023
================
@@ -1829,6 +1833,22 @@ void CoverageMappingModuleGen::emit() {
llvm::GlobalValue::InternalLinkage, NamesArrVal,
llvm::getCoverageUnusedNamesVarName());
}
+ const StringRef VarName(INSTR_PROF_QUOTE(INSTR_PROF_RAW_VERSION_VAR));
+ llvm::Type *IntTy64 = llvm::Type::getInt64Ty(Ctx);
+ uint64_t ProfileVersion = INSTR_PROF_RAW_VERSION;
+ if (llvm::ProfileCorrelate == llvm::InstrProfCorrelator::BINARY)
+ ProfileVersion |= VARIANT_MASK_BIN_CORRELATE;
+ auto *VersionVariable = new llvm::GlobalVariable(
+ CGM.getModule(), llvm::Type::getInt64Ty(Ctx), true,
+ llvm::GlobalValue::WeakAnyLinkage,
+ llvm::Constant::getIntegerValue(IntTy64, llvm::APInt(64, ProfileVersion)),
+ VarName);
+ VersionVariable->setVisibility(llvm::GlobalValue::HiddenVisibility);
+ llvm::Triple TT(CGM.getModule().getTargetTriple());
+ if (TT.supportsCOMDAT()) {
----------------
MaskRay wrote:
`CGM.getTriple().supportsCOMDAT()`
https://github.com/llvm/llvm-project/pull/69493
More information about the lldb-commits
mailing list