mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-18 19:16:43 +00:00
Reapply: Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries (#106165)
This retries #90692 which was reverted previously due to issues with lld-available being set, even if the copy of lld is not built from source. This does not change any code compared to #90692 to address the lld-available issue. The main change w.r.t, lld-available is xfailing tests in PR #99056 (until a longer term fix is available).
This commit is contained in:
parent
81cd7358a2
commit
fa4fbaefde
@ -22,8 +22,8 @@
|
||||
; BACKEND1: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND1: <VERSION
|
||||
; BACKEND1: <FLAGS
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-5300342847281564238|-2624081020897602054}}
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-5300342847281564238|-2624081020897602054}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3684000822 op2=3884832250}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3684000822 op2=3884832250}}
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: </GLOBALVAL_SUMMARY_BLOCK
|
||||
@ -37,7 +37,7 @@
|
||||
; BACKEND2-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND2-NEXT: <VERSION
|
||||
; BACKEND2-NEXT: <FLAGS
|
||||
; BACKEND2-NEXT: <VALUE_GUID op0=1 op1=-5300342847281564238
|
||||
; BACKEND2-NEXT: <VALUE_GUID {{.*}} op0=1 op1=3060885059 op2=1207956914
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
||||
|
@ -76,8 +76,8 @@
|
||||
; BACKEND1: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND1: <VERSION
|
||||
; BACKEND1: <FLAGS
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: </GLOBALVAL_SUMMARY_BLOCK
|
||||
@ -90,7 +90,7 @@
|
||||
; BACKEND2-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND2-NEXT: <VERSION
|
||||
; BACKEND2-NEXT: <FLAGS
|
||||
; BACKEND2-NEXT: <VALUE_GUID op0=1 op1=-5300342847281564238
|
||||
; BACKEND2-NEXT: <VALUE_GUID {{.*}} op0=1 op1=3060885059 op2=1207956914
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
||||
|
@ -103,8 +103,8 @@
|
||||
; BACKEND1: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND1: <VERSION
|
||||
; BACKEND1: <FLAGS
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: </GLOBALVAL_SUMMARY_BLOCK
|
||||
@ -117,7 +117,7 @@
|
||||
; BACKEND2-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND2-NEXT: <VERSION
|
||||
; BACKEND2-NEXT: <FLAGS
|
||||
; BACKEND2-NEXT: <VALUE_GUID op0=1 op1=-5300342847281564238
|
||||
; BACKEND2-NEXT: <VALUE_GUID {{.*}} op0=1 op1=3060885059 op2=1207956914
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
||||
|
@ -76,8 +76,8 @@
|
||||
; BACKEND1: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND1: <VERSION
|
||||
; BACKEND1: <FLAGS
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: </GLOBALVAL_SUMMARY_BLOCK
|
||||
@ -90,7 +90,7 @@
|
||||
; BACKEND2-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND2-NEXT: <VERSION
|
||||
; BACKEND2-NEXT: <FLAGS
|
||||
; BACKEND2-NEXT: <VALUE_GUID op0=1 op1=-5300342847281564238
|
||||
; BACKEND2-NEXT: <VALUE_GUID {{.*}} op0=1 op1=3060885059 op2=1207956914
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
||||
|
@ -75,8 +75,8 @@
|
||||
; BACKEND1: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND1: <VERSION
|
||||
; BACKEND1: <FLAGS
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: <COMBINED
|
||||
; BACKEND1: </GLOBALVAL_SUMMARY_BLOCK
|
||||
@ -89,7 +89,7 @@
|
||||
; BACKEND2-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND2-NEXT: <VERSION
|
||||
; BACKEND2-NEXT: <FLAGS
|
||||
; BACKEND2-NEXT: <VALUE_GUID op0=1 op1=-5300342847281564238
|
||||
; BACKEND2-NEXT: <VALUE_GUID {{.*}} op0=1 op1=3060885059 op2=1207956914
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
||||
|
@ -1449,7 +1449,7 @@ public:
|
||||
// in the way some record are interpreted, like flags for instance.
|
||||
// Note that incrementing this may require changes in both BitcodeReader.cpp
|
||||
// and BitcodeWriter.cpp.
|
||||
static constexpr uint64_t BitcodeSummaryVersion = 10;
|
||||
static constexpr uint64_t BitcodeSummaryVersion = 11;
|
||||
|
||||
// Regular LTO module name for ASM writer
|
||||
static constexpr const char *getRegularLTOModuleName() {
|
||||
|
@ -7606,9 +7606,14 @@ Error ModuleSummaryIndexBitcodeReader::parseEntireSummary(unsigned ID) {
|
||||
TheIndex.setFlags(Record[0]);
|
||||
break;
|
||||
}
|
||||
case bitc::FS_VALUE_GUID: { // [valueid, refguid]
|
||||
case bitc::FS_VALUE_GUID: { // [valueid, refguid_upper32, refguid_lower32]
|
||||
uint64_t ValueID = Record[0];
|
||||
GlobalValue::GUID RefGUID = Record[1];
|
||||
GlobalValue::GUID RefGUID;
|
||||
if (Version >= 11) {
|
||||
RefGUID = Record[1] << 32 | Record[2];
|
||||
} else {
|
||||
RefGUID = Record[1];
|
||||
}
|
||||
ValueIdToValueInfoMap[ValueID] = std::make_tuple(
|
||||
TheIndex.getOrInsertValueInfo(RefGUID), RefGUID, RefGUID);
|
||||
break;
|
||||
|
@ -4350,9 +4350,20 @@ void ModuleBitcodeWriterBase::writePerModuleGlobalValueSummary() {
|
||||
return;
|
||||
}
|
||||
|
||||
auto Abbv = std::make_shared<BitCodeAbbrev>();
|
||||
Abbv->Add(BitCodeAbbrevOp(bitc::FS_VALUE_GUID));
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6));
|
||||
// GUIDS often use up most of 64-bits, so encode as two Fixed 32.
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
|
||||
unsigned ValueGuidAbbrev = Stream.EmitAbbrev(std::move(Abbv));
|
||||
|
||||
for (const auto &GVI : valueIds()) {
|
||||
Stream.EmitRecord(bitc::FS_VALUE_GUID,
|
||||
ArrayRef<uint64_t>{GVI.second, GVI.first});
|
||||
ArrayRef<uint32_t>{GVI.second,
|
||||
static_cast<uint32_t>(GVI.first >> 32),
|
||||
static_cast<uint32_t>(GVI.first)},
|
||||
ValueGuidAbbrev);
|
||||
}
|
||||
|
||||
if (!Index->stackIds().empty()) {
|
||||
@ -4366,7 +4377,7 @@ void ModuleBitcodeWriterBase::writePerModuleGlobalValueSummary() {
|
||||
}
|
||||
|
||||
// Abbrev for FS_PERMODULE_PROFILE.
|
||||
auto Abbv = std::make_shared<BitCodeAbbrev>();
|
||||
Abbv = std::make_shared<BitCodeAbbrev>();
|
||||
Abbv->Add(BitCodeAbbrevOp(bitc::FS_PERMODULE_PROFILE));
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // valueid
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // flags
|
||||
@ -4520,9 +4531,20 @@ void IndexBitcodeWriter::writeCombinedGlobalValueSummary() {
|
||||
// Write the index flags.
|
||||
Stream.EmitRecord(bitc::FS_FLAGS, ArrayRef<uint64_t>{Index.getFlags()});
|
||||
|
||||
auto Abbv = std::make_shared<BitCodeAbbrev>();
|
||||
Abbv->Add(BitCodeAbbrevOp(bitc::FS_VALUE_GUID));
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6));
|
||||
// GUIDS often use up most of 64-bits, so encode as two Fixed 32.
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
|
||||
unsigned ValueGuidAbbrev = Stream.EmitAbbrev(std::move(Abbv));
|
||||
|
||||
for (const auto &GVI : valueIds()) {
|
||||
Stream.EmitRecord(bitc::FS_VALUE_GUID,
|
||||
ArrayRef<uint64_t>{GVI.second, GVI.first});
|
||||
ArrayRef<uint32_t>{GVI.second,
|
||||
static_cast<uint32_t>(GVI.first >> 32),
|
||||
static_cast<uint32_t>(GVI.first)},
|
||||
ValueGuidAbbrev);
|
||||
}
|
||||
|
||||
// Write the stack ids used by this index, which will be a subset of those in
|
||||
@ -4538,7 +4560,7 @@ void IndexBitcodeWriter::writeCombinedGlobalValueSummary() {
|
||||
}
|
||||
|
||||
// Abbrev for FS_COMBINED_PROFILE.
|
||||
auto Abbv = std::make_shared<BitCodeAbbrev>();
|
||||
Abbv = std::make_shared<BitCodeAbbrev>();
|
||||
Abbv->Add(BitCodeAbbrevOp(bitc::FS_COMBINED_PROFILE));
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // valueid
|
||||
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // modid
|
||||
|
@ -46,28 +46,32 @@
|
||||
^18 = gv: (guid: 17, summaries: (alias: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1), aliasee: ^14)))
|
||||
|
||||
; Test all types of TypeIdInfo on function summaries.
|
||||
^19 = gv: (guid: 18, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 4, typeIdInfo: (typeTests: (^25, ^27)))))
|
||||
^20 = gv: (guid: 19, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 8, typeIdInfo: (typeTestAssumeVCalls: (vFuncId: (^28, offset: 16))))))
|
||||
^21 = gv: (guid: 20, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 5, typeIdInfo: (typeCheckedLoadVCalls: (vFuncId: (^26, offset: 16))))))
|
||||
^22 = gv: (guid: 21, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 15, typeIdInfo: (typeTestAssumeConstVCalls: ((vFuncId: (^28, offset: 16), args: (42)), (vFuncId: (^28, offset: 24)))))))
|
||||
^23 = gv: (guid: 22, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 5, typeIdInfo: (typeCheckedLoadConstVCalls: ((vFuncId: (^29, offset: 16), args: (42)))))))
|
||||
^19 = gv: (guid: 18, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 4, typeIdInfo: (typeTests: (^26, ^28)))))
|
||||
^20 = gv: (guid: 19, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 8, typeIdInfo: (typeTestAssumeVCalls: (vFuncId: (^29, offset: 16))))))
|
||||
^21 = gv: (guid: 20, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 5, typeIdInfo: (typeCheckedLoadVCalls: (vFuncId: (^27, offset: 16))))))
|
||||
^22 = gv: (guid: 21, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 15, typeIdInfo: (typeTestAssumeConstVCalls: ((vFuncId: (^29, offset: 16), args: (42)), (vFuncId: (^29, offset: 24)))))))
|
||||
^23 = gv: (guid: 22, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0), insts: 5, typeIdInfo: (typeCheckedLoadConstVCalls: ((vFuncId: (^30, offset: 16), args: (42)))))))
|
||||
|
||||
; Function summary with an import type of declaration
|
||||
^24 = gv: (guid: 23, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, importType: declaration), insts: 5)))
|
||||
|
||||
; GUID that are 64-bit
|
||||
|
||||
^25 = gv: (guid: 9123456789101112131, summaries: (function: (module: ^0, flags: (linkage: internal, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, importType: definition), insts: 1)))
|
||||
|
||||
; Test TypeId summaries:
|
||||
|
||||
^25 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0)))
|
||||
^26 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0)))
|
||||
; Test TypeId with other optional fields (alignLog2/sizeM1/bitMask/inlineBits)
|
||||
^26 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4)))
|
||||
^27 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4)))
|
||||
; Test the AllOnes resolution, and all kinds of WholeProgramDevirtResolution
|
||||
; types, including all optional resolution by argument kinds.
|
||||
^27 = typeid: (name: "_ZTS1A", summary: (typeTestRes: (kind: allOnes, sizeM1BitWidth: 7), wpdResolutions: ((offset: 0, wpdRes: (kind: branchFunnel)), (offset: 8, wpdRes: (kind: singleImpl, singleImplName: "_ZN1A1nEi")), (offset: 16, wpdRes: (kind: indir, resByArg: (args: (1, 2), byArg: (kind: indir, byte: 2, bit: 3), args: (3), byArg: (kind: uniformRetVal, info: 1), args: (4), byArg: (kind: uniqueRetVal, info: 1), args: (5), byArg: (kind: virtualConstProp)))))))
|
||||
^28 = typeid: (name: "_ZTS1A", summary: (typeTestRes: (kind: allOnes, sizeM1BitWidth: 7), wpdResolutions: ((offset: 0, wpdRes: (kind: branchFunnel)), (offset: 8, wpdRes: (kind: singleImpl, singleImplName: "_ZN1A1nEi")), (offset: 16, wpdRes: (kind: indir, resByArg: (args: (1, 2), byArg: (kind: indir, byte: 2, bit: 3), args: (3), byArg: (kind: uniformRetVal, info: 1), args: (4), byArg: (kind: uniqueRetVal, info: 1), args: (5), byArg: (kind: virtualConstProp)))))))
|
||||
; Test the other kinds of type test resoultions
|
||||
^28 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0)))
|
||||
^29 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0)))
|
||||
^30 = flags: 8
|
||||
^31 = blockcount: 1888
|
||||
^29 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0)))
|
||||
^30 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0)))
|
||||
^31 = flags: 8
|
||||
^32 = blockcount: 1888
|
||||
|
||||
; Make sure we get back from llvm-dis essentially what we put in via llvm-as.
|
||||
; CHECK: ^0 = module: (path: "thinlto-summary1.o", hash: (1369602428, 2747878711, 259090915, 2507395659, 1141468049))
|
||||
@ -91,19 +95,20 @@
|
||||
; CHECK: ^16 = gv: (guid: 15, summaries: (function: (module: ^1, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 1, funcFlags: (readNone: 1, readOnly: 0, noRecurse: 1, returnDoesNotAlias: 0, noInline: 0, alwaysInline: 1, noUnwind: 1, mayThrow: 1, hasUnknownCall: 1, mustBeUnreachable: 0))))
|
||||
; CHECK: ^17 = gv: (guid: 16, summaries: (function: (module: ^1, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 1, funcFlags: (readNone: 0, readOnly: 1, noRecurse: 0, returnDoesNotAlias: 1, noInline: 0, alwaysInline: 0, noUnwind: 0, mayThrow: 0, hasUnknownCall: 0, mustBeUnreachable: 1), calls: ((callee: ^15)))))
|
||||
; CHECK: ^18 = gv: (guid: 17, summaries: (alias: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0, importType: definition), aliasee: ^14)))
|
||||
; CHECK: ^19 = gv: (guid: 18, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 4, typeIdInfo: (typeTests: (^25, ^27)))))
|
||||
; CHECK: ^20 = gv: (guid: 19, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 8, typeIdInfo: (typeTestAssumeVCalls: (vFuncId: (^28, offset: 16))))))
|
||||
; CHECK: ^21 = gv: (guid: 20, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 5, typeIdInfo: (typeCheckedLoadVCalls: (vFuncId: (^26, offset: 16))))))
|
||||
; CHECK: ^22 = gv: (guid: 21, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 15, typeIdInfo: (typeTestAssumeConstVCalls: ((vFuncId: (^28, offset: 16), args: (42)), (vFuncId: (^28, offset: 24)))))))
|
||||
; CHECK: ^23 = gv: (guid: 22, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 5, typeIdInfo: (typeCheckedLoadConstVCalls: ((vFuncId: (^29, offset: 16), args: (42)))))))
|
||||
; CHECK: ^19 = gv: (guid: 18, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 4, typeIdInfo: (typeTests: (^26, ^28)))))
|
||||
; CHECK: ^20 = gv: (guid: 19, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 8, typeIdInfo: (typeTestAssumeVCalls: (vFuncId: (^29, offset: 16))))))
|
||||
; CHECK: ^21 = gv: (guid: 20, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 5, typeIdInfo: (typeCheckedLoadVCalls: (vFuncId: (^27, offset: 16))))))
|
||||
; CHECK: ^22 = gv: (guid: 21, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 15, typeIdInfo: (typeTestAssumeConstVCalls: ((vFuncId: (^29, offset: 16), args: (42)), (vFuncId: (^29, offset: 24)))))))
|
||||
; CHECK: ^23 = gv: (guid: 22, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: definition), insts: 5, typeIdInfo: (typeCheckedLoadConstVCalls: ((vFuncId: (^30, offset: 16), args: (42)))))))
|
||||
; CHECK: ^24 = gv: (guid: 23, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, canAutoHide: 0, importType: declaration), insts: 5)))
|
||||
; CHECK: ^25 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0))) ; guid = 1884921850105019584
|
||||
; CHECK: ^26 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4))) ; guid = 6203814149063363976
|
||||
; CHECK: ^27 = typeid: (name: "_ZTS1A", summary: (typeTestRes: (kind: allOnes, sizeM1BitWidth: 7), wpdResolutions: ((offset: 0, wpdRes: (kind: branchFunnel)), (offset: 8, wpdRes: (kind: singleImpl, singleImplName: "_ZN1A1nEi")), (offset: 16, wpdRes: (kind: indir, resByArg: (args: (1, 2), byArg: (kind: indir, byte: 2, bit: 3), args: (3), byArg: (kind: uniformRetVal, info: 1), args: (4), byArg: (kind: uniqueRetVal, info: 1), args: (5), byArg: (kind: virtualConstProp))))))) ; guid = 7004155349499253778
|
||||
; CHECK: ^28 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0))) ; guid = 9614786172484273522
|
||||
; CHECK: ^29 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0))) ; guid = 17437243864166745132
|
||||
; CHECK: ^30 = flags: 8
|
||||
; CHECK: ^31 = blockcount: 1888
|
||||
; CHECK: ^25 = gv: (guid: 9123456789101112131, summaries: (function: (module: ^0, flags: (linkage: internal, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, canAutoHide: 0, importType: definition), insts: 1)))
|
||||
; CHECK: ^26 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0))) ; guid = 1884921850105019584
|
||||
; CHECK: ^27 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4))) ; guid = 6203814149063363976
|
||||
; CHECK: ^28 = typeid: (name: "_ZTS1A", summary: (typeTestRes: (kind: allOnes, sizeM1BitWidth: 7), wpdResolutions: ((offset: 0, wpdRes: (kind: branchFunnel)), (offset: 8, wpdRes: (kind: singleImpl, singleImplName: "_ZN1A1nEi")), (offset: 16, wpdRes: (kind: indir, resByArg: (args: (1, 2), byArg: (kind: indir, byte: 2, bit: 3), args: (3), byArg: (kind: uniformRetVal, info: 1), args: (4), byArg: (kind: uniqueRetVal, info: 1), args: (5), byArg: (kind: virtualConstProp))))))) ; guid = 7004155349499253778
|
||||
; CHECK: ^29 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0))) ; guid = 9614786172484273522
|
||||
; CHECK: ^30 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0))) ; guid = 17437243864166745132
|
||||
; CHECK: ^31 = flags: 8
|
||||
; CHECK: ^32 = blockcount: 1888
|
||||
|
||||
; Make sure parsing of a non-summary entry containing a ":" does not fail
|
||||
; after summary parsing, which handles colons differently.
|
||||
|
@ -2,7 +2,7 @@
|
||||
; RUN: opt -module-summary %s -o - | llvm-bcanalyzer -dump | FileCheck %s
|
||||
|
||||
; CHECK: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; CHECK: <VERSION op0=10/>
|
||||
; CHECK: <VERSION op0=11/>
|
||||
|
||||
|
||||
|
||||
|
@ -31,9 +31,9 @@
|
||||
; COMBINED-NEXT: <VERSION
|
||||
; COMBINED-NEXT: <FLAGS
|
||||
; See if the call to analias is registered, using the expected value id.
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=[[ALIASID:[0-9]+]] op1=-5751648690987223394/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[ALIASID:[0-9]+]] op1=2955807229 op2=886945438/>
|
||||
; COMBINED-NEXT: <VALUE_GUID
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=[[ALIASEEID:[0-9]+]] op1=-1039159065113703048/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[ALIASEEID:[0-9]+]] op1=4053019222 op2=46484856/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op9=[[ALIASID]]
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}}
|
||||
; COMBINED-NEXT: <COMBINED_ALIAS {{.*}} op3=[[ALIASEEID]]
|
||||
|
@ -15,17 +15,17 @@
|
||||
; CHECK-NEXT: <FLAGS op0=0/>
|
||||
; The `VALUE_GUID` below represents the "_ZTV4Base" referenced by the instruction
|
||||
; that loads vtable pointers.
|
||||
; CHECK-NEXT: <VALUE_GUID op0=21 op1=1960855528937986108/>
|
||||
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=21 op1=456547254 op2=3929380924/>
|
||||
; The `VALUE_GUID` below represents the "_ZN4Base4funcEv" referenced by the
|
||||
; indirect call instruction.
|
||||
; CHECK-NEXT: <VALUE_GUID op0=20 op1=5459407273543877811/>
|
||||
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=20 op1=1271117309 op2=2009351347/>
|
||||
; NOTE vtables and functions from Derived class is dropped because
|
||||
; `-icp-max-num-vtables` and `-icp-max-prom` are both set to one.
|
||||
; <PERMODULE_PROFILE> has the format [valueid, flags, instcount, funcflags,
|
||||
; numrefs, rorefcnt, worefcnt,
|
||||
; m x valueid,
|
||||
; n x (valueid, hotness+tailcall)]
|
||||
; CHECK-NEXT: <PERMODULE_PROFILE abbrevid=4 op0=0 op1=0 op2=4 op3=256 op4=1 op5=1 op6=0 op7=21 op8=20 op9=3/>
|
||||
; CHECK-NEXT: <PERMODULE_PROFILE {{.*}} op0=0 op1=0 op2=4 op3=256 op4=1 op5=1 op6=0 op7=21 op8=20 op9=3/>
|
||||
; CHECK-NEXT: </GLOBALVAL_SUMMARY_BLOCK>
|
||||
|
||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||
|
@ -30,7 +30,7 @@
|
||||
; CHECK-LABEL: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; CHECK-NEXT: <VERSION
|
||||
; CHECK-NEXT: <FLAGS
|
||||
; CHECK-NEXT: <VALUE_GUID op0=27 op1=123/>
|
||||
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=27 op1=0 op2=123/>
|
||||
; op4=none1 op6=hot1 op8=cold1 op10=none2 op12=hot2 op14=cold2 op16=none3 op18=hot3 op20=cold3 op22=123
|
||||
; CHECK-NEXT: <PERMODULE_PROFILE {{.*}} op7=7 op8=0 op9=1 op10=3 op11=4 op12=1 op13=8 op14=0 op15=2 op16=3 op17=5 op18=1 op19=9 op20=0 op21=3 op22=3 op23=6 op24=1 op25=27 op26=4/>
|
||||
; CHECK-NEXT: <BLOCK_COUNT op0=4/>
|
||||
|
@ -26,7 +26,7 @@
|
||||
; COMBINED: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; COMBINED-NEXT: <VERSION
|
||||
; COMBINED-NEXT: <FLAGS
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=[[FUNCID:[0-9]+]] op1=7289175272376759421/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[FUNCID:[0-9]+]] op1=1697143370 op2=1603531901/>
|
||||
; COMBINED-NEXT: <VALUE_GUID
|
||||
; COMBINED-NEXT: <COMBINED
|
||||
; See if the call to func is registered, using the expected hotness type.
|
||||
|
@ -47,7 +47,7 @@
|
||||
; CHECK-LABEL: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; CHECK-NEXT: <VERSION
|
||||
; CHECK-NEXT: <FLAGS
|
||||
; CHECK-NEXT: <VALUE_GUID op0=25 op1=123/>
|
||||
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=25 op1=0 op2=123/>
|
||||
; op4=hot1 op6=cold op8=hot2 op10=hot4 op12=none1 op14=hot3 op16=none2 op18=none3 op20=123
|
||||
; CHECK-NEXT: <PERMODULE_PROFILE {{.*}} op7=1 op8=3 op9=5 op10=1 op11=2 op12=3 op13=4 op14=1 op15=6 op16=2 op17=3 op18=3 op19=7 op20=2 op21=8 op22=2 op23=25 op24=4/>
|
||||
; CHECK-NEXT: </GLOBALVAL_SUMMARY_BLOCK>
|
||||
|
@ -30,7 +30,7 @@
|
||||
; CHECK-LABEL: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; CHECK-NEXT: <VERSION
|
||||
; CHECK-NEXT: <FLAGS
|
||||
; CHECK-NEXT: <VALUE_GUID op0=26 op1=123/>
|
||||
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=26 op1=0 op2=123/>
|
||||
; op4=none1 op6=hot1 op8=cold1 op10=none2 op12=hot2 op14=cold2 op16=none3 op18=hot3 op20=cold3 op22=123
|
||||
; CHECK-NEXT: <PERMODULE_PROFILE {{.*}} op7=7 op8=0 op9=1 op10=3 op11=4 op12=1 op13=8 op14=0 op15=2 op16=3 op17=5 op18=1 op19=9 op20=0 op21=3 op22=3 op23=6 op24=1 op25=26 op26=4/>
|
||||
; CHECK-NEXT: </GLOBALVAL_SUMMARY_BLOCK>
|
||||
|
@ -30,7 +30,7 @@
|
||||
; COMBINED-NEXT: <FLAGS
|
||||
; Only 2 VALUE_GUID since reference to undefinedglob should not be included in
|
||||
; combined index.
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=[[FUNCID:[0-9]+]] op1=7289175272376759421/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[FUNCID:[0-9]+]] op1=1697143370 op2=1603531901/>
|
||||
; COMBINED-NEXT: <VALUE_GUID
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE
|
||||
; See if the call to func is registered.
|
||||
|
@ -6,9 +6,9 @@
|
||||
; COMBINED: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; COMBINED-NEXT: <VERSION
|
||||
; COMBINED-NEXT: <FLAGS
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op1=686735765308251824/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op1=4507502870619175775/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op1=-8118561185538785069/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op1=159893130 op2=1103175344/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op1=1049484794 op2=2739878751/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op1=2404717469 op2=2695872723/>
|
||||
; COMBINED-DAG: <COMBINED_PROFILE{{ }}
|
||||
; COMBINED-DAG: <COMBINED_ORIGINAL_NAME op0=-2012135647395072713/>
|
||||
; COMBINED-DAG: <COMBINED_GLOBALVAR_INIT_REFS
|
||||
|
@ -286,55 +286,55 @@ entry:
|
||||
|
||||
|
||||
; COMBINED: <FLAGS op0=0/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=[[CALLEE1:1]] op1=72710208629861106/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=[[CALLEE2:2]] op1=900789920918863816/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=3 op1=1075564720951610524/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=4 op1=1417835201204712148/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=5 op1=2949024673554120799/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=6 op1=4179978066780831873/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=7 op1=5540766144860458461/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=8 op1=6187077497926519485/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=9 op1=6707380319572075172/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=10 op1=8411925997558855107/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=11 op1=-8159310605091129913/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=12 op1=-6599332516747241070/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=13 op1=-5282029362632487219/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=14 op1=-3184895716019949174/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=15 op1=-2750063944951688315/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=16 op1=-2287148700827644426/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=17 op1=-1913852605147216470/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=18 op1=-1792695732907084926/>
|
||||
; COMBINED-NEXT: <VALUE_GUID op0=19 op1=-1296325529848142540/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[CALLEE1:1]] op1=16929164 op2=2901240562/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[CALLEE2:2]] op1=209731497 op2=362741704/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=3 op1=250424426 op2=1162038428/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=4 op1=330115482 op2=2111435476/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=5 op1=686623312 op2=3842916447/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=6 op1=973226983 op2=3211083905/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=7 op1=1290060147 op2=3622505949/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=8 op1=1440541236 op2=767101629/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=9 op1=1561683677 op2=160047780/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=10 op1=1958554144 op2=1633580483/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=11 op1=2395229756 op2=192361927/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=12 op1=2758440458 op2=1889048978/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=13 op1=3065148999 op2=3004927693/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=14 op1=3553425976 op2=2012721546/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=15 op1=3654668137 op2=2609615749/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=16 op1=3762448991 op2=3668708854/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=17 op1=3849363762 op2=364807594/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=18 op1=3877572794 op2=2713121666/>
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=19 op1=3993142988 op2=2149688628/>
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=1 op1=0 op2=0 op3=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=1
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=1
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=2
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=2
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE2]] op6=4 op7=6/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=3
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=3
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=24 op2=32 op3=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=4
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=4
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0 op4=2 op5=0 op6=8 op7=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=5
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=6
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=5
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=6
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=7
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=7
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0 op4=1 op5=0 op6=8 op7=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=8
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=9
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=8
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=9
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE2]] op6=0 op7=2/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=10
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=11
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=10
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=11
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=113 op2=97 op3=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=12
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=13
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=12
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=13
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=14
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=15
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=14
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=15
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=1 op2=-2 op3=0/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=16
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=16
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE2]] op6=1431 op7=1429/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=17
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=17
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=2 op4=0 op5=[[CALLEE2]] op6=1431 op7=250 op8=1 op9=[[CALLEE1]] op10=67 op11=65/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=18
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=18
|
||||
; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE2]] op6=1431 op7=250/>
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE abbrevid=4 op0=19
|
||||
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op0=19
|
||||
|
@ -16,11 +16,11 @@
|
||||
; BACKEND1-NEXT: </MODULE_STRTAB_BLOCK
|
||||
; BACKEND1-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND1-NEXT: <VERSION
|
||||
; BACKEND1-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND1-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND1-NEXT: <COMBINED_PROFILE {{.*}} op1=0
|
||||
; BACKEND1-NEXT: <COMBINED_PROFILE {{.*}} op1=0
|
||||
; BACKEND1-NEXT: <COMBINED_PROFILE {{.*}} op1=1
|
||||
@ -34,9 +34,9 @@
|
||||
; BACKEND2-NEXT: </MODULE_STRTAB_BLOCK
|
||||
; BACKEND2-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND2-NEXT: <VERSION
|
||||
; BACKEND2-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND2-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND2-DAG: <VALUE_GUID op0={{.*}}
|
||||
; BACKEND2-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND2-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND2-DAG: <VALUE_GUID {{.*}} op0={{.*}}
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: <COMBINED_ALIAS
|
||||
|
@ -103,8 +103,8 @@
|
||||
; BACKEND1-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND1-NEXT: <VERSION
|
||||
; BACKEND1-NEXT: <FLAGS
|
||||
; BACKEND1-NEXT: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1-NEXT: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; BACKEND1-NEXT: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1-NEXT: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; BACKEND1-NEXT: <COMBINED
|
||||
; BACKEND1-NEXT: <COMBINED
|
||||
; BACKEND1-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
@ -117,7 +117,7 @@
|
||||
; BACKEND2-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; BACKEND2-NEXT: <VERSION
|
||||
; BACKEND2-NEXT: <FLAGS
|
||||
; BACKEND2-NEXT: <VALUE_GUID op0=1 op1=-5300342847281564238
|
||||
; BACKEND2-NEXT: <VALUE_GUID {{.*}} op0=1 op1=3060885059 op2=1207956914
|
||||
; BACKEND2-NEXT: <COMBINED
|
||||
; BACKEND2-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
||||
@ -136,8 +136,8 @@
|
||||
; COMBINED-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; COMBINED-NEXT: <VERSION
|
||||
; COMBINED-NEXT: <FLAGS
|
||||
; COMBINED-NEXT: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; COMBINED-NEXT: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; COMBINED-NEXT: <COMBINED
|
||||
; COMBINED-NEXT: <COMBINED
|
||||
; COMBINED-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
@ -12,8 +12,8 @@
|
||||
; COMBINED-NEXT: <GLOBALVAL_SUMMARY_BLOCK
|
||||
; COMBINED-NEXT: <VERSION
|
||||
; COMBINED-NEXT: <FLAGS
|
||||
; COMBINED-NEXT: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; COMBINED-NEXT: <VALUE_GUID op0={{1|2}} op1={{-3706093650706652785|-5300342847281564238}}
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0={{1|2}} {{op1=3060885059 op2=1207956914|op1=3432075125 op2=3712786831}}
|
||||
; COMBINED-NEXT: <COMBINED
|
||||
; COMBINED-NEXT: <COMBINED
|
||||
; COMBINED-NEXT: </GLOBALVAL_SUMMARY_BLOCK
|
||||
|
Loading…
x
Reference in New Issue
Block a user