Skip to content

Commit 2aabfc8

Browse files
authored
Revert "Use an abbrev to reduce size of VALUE_GUID records in ThinLTO summaries" (#90610)
Reverts #90497 Broke some LLD tests.
1 parent b60a2b9 commit 2aabfc8

16 files changed

+94
-126
lines changed

llvm/include/llvm/IR/ModuleSummaryIndex.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1423,7 +1423,7 @@ class ModuleSummaryIndex {
14231423
// in the way some record are interpreted, like flags for instance.
14241424
// Note that incrementing this may require changes in both BitcodeReader.cpp
14251425
// and BitcodeWriter.cpp.
1426-
static constexpr uint64_t BitcodeSummaryVersion = 10;
1426+
static constexpr uint64_t BitcodeSummaryVersion = 9;
14271427

14281428
// Regular LTO module name for ASM writer
14291429
static constexpr const char *getRegularLTOModuleName() {

llvm/lib/Bitcode/Reader/BitcodeReader.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7513,14 +7513,9 @@ Error ModuleSummaryIndexBitcodeReader::parseEntireSummary(unsigned ID) {
75137513
TheIndex.setFlags(Record[0]);
75147514
break;
75157515
}
7516-
case bitc::FS_VALUE_GUID: { // [valueid, refguid_upper32, refguid_lower32]
7516+
case bitc::FS_VALUE_GUID: { // [valueid, refguid]
75177517
uint64_t ValueID = Record[0];
7518-
GlobalValue::GUID RefGUID;
7519-
if (Version >= 10) {
7520-
RefGUID = Record[1] << 32 | Record[2];
7521-
} else {
7522-
RefGUID = Record[1];
7523-
}
7518+
GlobalValue::GUID RefGUID = Record[1];
75247519
ValueIdToValueInfoMap[ValueID] = std::make_tuple(
75257520
TheIndex.getOrInsertValueInfo(RefGUID), RefGUID, RefGUID);
75267521
break;

llvm/lib/Bitcode/Writer/BitcodeWriter.cpp

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4299,20 +4299,9 @@ void ModuleBitcodeWriterBase::writePerModuleGlobalValueSummary() {
42994299
return;
43004300
}
43014301

4302-
auto Abbv = std::make_shared<BitCodeAbbrev>();
4303-
Abbv->Add(BitCodeAbbrevOp(bitc::FS_VALUE_GUID));
4304-
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6));
4305-
// GUIDS often use up most of 64-bits, so encode as two Fixed 32.
4306-
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
4307-
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
4308-
unsigned ValueGuidAbbrev = Stream.EmitAbbrev(std::move(Abbv));
4309-
43104302
for (const auto &GVI : valueIds()) {
43114303
Stream.EmitRecord(bitc::FS_VALUE_GUID,
4312-
ArrayRef<uint32_t>{GVI.second,
4313-
static_cast<uint32_t>(GVI.first >> 32),
4314-
static_cast<uint32_t>(GVI.first)},
4315-
ValueGuidAbbrev);
4304+
ArrayRef<uint64_t>{GVI.second, GVI.first});
43164305
}
43174306

43184307
if (!Index->stackIds().empty()) {
@@ -4326,7 +4315,7 @@ void ModuleBitcodeWriterBase::writePerModuleGlobalValueSummary() {
43264315
}
43274316

43284317
// Abbrev for FS_PERMODULE_PROFILE.
4329-
Abbv = std::make_shared<BitCodeAbbrev>();
4318+
auto Abbv = std::make_shared<BitCodeAbbrev>();
43304319
Abbv->Add(BitCodeAbbrevOp(bitc::FS_PERMODULE_PROFILE));
43314320
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // valueid
43324321
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // flags
@@ -4478,20 +4467,9 @@ void IndexBitcodeWriter::writeCombinedGlobalValueSummary() {
44784467
// Write the index flags.
44794468
Stream.EmitRecord(bitc::FS_FLAGS, ArrayRef<uint64_t>{Index.getFlags()});
44804469

4481-
auto Abbv = std::make_shared<BitCodeAbbrev>();
4482-
Abbv->Add(BitCodeAbbrevOp(bitc::FS_VALUE_GUID));
4483-
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6));
4484-
// GUIDS often use up most of 64-bits, so encode as two Fixed 32.
4485-
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
4486-
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 32));
4487-
unsigned ValueGuidAbbrev = Stream.EmitAbbrev(std::move(Abbv));
4488-
44894470
for (const auto &GVI : valueIds()) {
44904471
Stream.EmitRecord(bitc::FS_VALUE_GUID,
4491-
ArrayRef<uint32_t>{GVI.second,
4492-
static_cast<uint32_t>(GVI.first >> 32),
4493-
static_cast<uint32_t>(GVI.first)},
4494-
ValueGuidAbbrev);
4472+
ArrayRef<uint64_t>{GVI.second, GVI.first});
44954473
}
44964474

44974475
if (!StackIdIndices.empty()) {
@@ -4510,7 +4488,7 @@ void IndexBitcodeWriter::writeCombinedGlobalValueSummary() {
45104488
}
45114489

45124490
// Abbrev for FS_COMBINED_PROFILE.
4513-
Abbv = std::make_shared<BitCodeAbbrev>();
4491+
auto Abbv = std::make_shared<BitCodeAbbrev>();
45144492
Abbv->Add(BitCodeAbbrevOp(bitc::FS_COMBINED_PROFILE));
45154493
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // valueid
45164494
Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8)); // modid

llvm/test/Assembler/thinlto-summary.ll

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -46,32 +46,28 @@
4646
^18 = gv: (guid: 17, summaries: (alias: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1), aliasee: ^14)))
4747

4848
; Test all types of TypeIdInfo on function summaries.
49-
^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)))))
50-
^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))))))
51-
^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))))))
52-
^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)))))))
53-
^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)))))))
49+
^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)))))
50+
^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))))))
51+
^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))))))
52+
^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)))))))
53+
^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)))))))
5454

5555
; Function summary with an import type of declaration
5656
^24 = gv: (guid: 23, summaries: (function: (module: ^0, flags: (linkage: external, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 0, importType: declaration), insts: 5)))
5757

58-
; GUID that are 64-bit
59-
60-
^25 = gv: (guid: 9123456789101112131, summaries: (function: (module: ^0, flags: (linkage: internal, visibility: default, notEligibleToImport: 0, live: 0, dsoLocal: 1, importType: definition), insts: 1)))
61-
6258
; Test TypeId summaries:
6359

64-
^26 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0)))
60+
^25 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0)))
6561
; Test TypeId with other optional fields (alignLog2/sizeM1/bitMask/inlineBits)
66-
^27 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4)))
62+
^26 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4)))
6763
; Test the AllOnes resolution, and all kinds of WholeProgramDevirtResolution
6864
; types, including all optional resolution by argument kinds.
69-
^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)))))))
65+
^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)))))))
7066
; Test the other kinds of type test resoultions
71-
^29 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0)))
72-
^30 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0)))
73-
^31 = flags: 8
74-
^32 = blockcount: 1888
67+
^28 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0)))
68+
^29 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0)))
69+
^30 = flags: 8
70+
^31 = blockcount: 1888
7571

7672
; Make sure we get back from llvm-dis essentially what we put in via llvm-as.
7773
; CHECK: ^0 = module: (path: "thinlto-summary1.o", hash: (1369602428, 2747878711, 259090915, 2507395659, 1141468049))
@@ -95,20 +91,19 @@
9591
; 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))))
9692
; 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)))))
9793
; 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)))
98-
; 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)))))
99-
; 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))))))
100-
; 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))))))
101-
; 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)))))))
102-
; 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)))))))
94+
; 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)))))
95+
; 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))))))
96+
; 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))))))
97+
; 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)))))))
98+
; 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)))))))
10399
; 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)))
104-
; 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)))
105-
; CHECK: ^26 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0))) ; guid = 1884921850105019584
106-
; CHECK: ^27 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4))) ; guid = 6203814149063363976
107-
; 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
108-
; CHECK: ^29 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0))) ; guid = 9614786172484273522
109-
; CHECK: ^30 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0))) ; guid = 17437243864166745132
110-
; CHECK: ^31 = flags: 8
111-
; CHECK: ^32 = blockcount: 1888
100+
; CHECK: ^25 = typeid: (name: "_ZTS1C", summary: (typeTestRes: (kind: single, sizeM1BitWidth: 0))) ; guid = 1884921850105019584
101+
; CHECK: ^26 = typeid: (name: "_ZTS1B", summary: (typeTestRes: (kind: inline, sizeM1BitWidth: 0, alignLog2: 1, sizeM1: 2, bitMask: 3, inlineBits: 4))) ; guid = 6203814149063363976
102+
; 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
103+
; CHECK: ^28 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0))) ; guid = 9614786172484273522
104+
; CHECK: ^29 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0))) ; guid = 17437243864166745132
105+
; CHECK: ^30 = flags: 8
106+
; CHECK: ^31 = blockcount: 1888
112107

113108
; Make sure parsing of a non-summary entry containing a ":" does not fail
114109
; after summary parsing, which handles colons differently.

llvm/test/Bitcode/summary_version.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; RUN: opt -module-summary %s -o - | llvm-bcanalyzer -dump | FileCheck %s
33

44
; CHECK: <GLOBALVAL_SUMMARY_BLOCK
5-
; CHECK: <VERSION op0=10/>
5+
; CHECK: <VERSION op0=9/>
66

77

88

llvm/test/Bitcode/thinlto-alias.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
; COMBINED-NEXT: <VERSION
3232
; COMBINED-NEXT: <FLAGS
3333
; See if the call to analias is registered, using the expected value id.
34-
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[ALIASID:[0-9]+]] op1=2955807229 op2=886945438/>
34+
; COMBINED-NEXT: <VALUE_GUID op0=[[ALIASID:[0-9]+]] op1=-5751648690987223394/>
3535
; COMBINED-NEXT: <VALUE_GUID
36-
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[ALIASEEID:[0-9]+]] op1=4053019222 op2=46484856/>
36+
; COMBINED-NEXT: <VALUE_GUID op0=[[ALIASEEID:[0-9]+]] op1=-1039159065113703048/>
3737
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}} op9=[[ALIASID]]
3838
; COMBINED-NEXT: <COMBINED_PROFILE {{.*}}
3939
; COMBINED-NEXT: <COMBINED_ALIAS {{.*}} op3=[[ALIASEEID]]

llvm/test/Bitcode/thinlto-func-summary-vtableref-pgo.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,21 @@
1111
; RUN: llvm-dis -o - %t.o | llvm-as -o - | llvm-dis -o - | FileCheck %s --check-prefix=DIS
1212

1313
; CHECK: <GLOBALVAL_SUMMARY_BLOCK
14-
; CHECK-NEXT: <VERSION op0=10/>
14+
; CHECK-NEXT: <VERSION op0=9/>
1515
; CHECK-NEXT: <FLAGS op0=0/>
1616
; The `VALUE_GUID` below represents the "_ZTV4Base" referenced by the instruction
1717
; that loads vtable pointers.
18-
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=21 op1=456547254 op2=3929380924/>
18+
; CHECK-NEXT: <VALUE_GUID op0=21 op1=1960855528937986108/>
1919
; The `VALUE_GUID` below represents the "_ZN4Base4funcEv" referenced by the
2020
; indirect call instruction.
21-
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=20 op1=1271117309 op2=2009351347/>
21+
; CHECK-NEXT: <VALUE_GUID op0=20 op1=5459407273543877811/>
2222
; NOTE vtables and functions from Derived class is dropped because
2323
; `-icp-max-num-vtables` and `-icp-max-prom` are both set to one.
2424
; <PERMODULE_PROFILE> has the format [valueid, flags, instcount, funcflags,
2525
; numrefs, rorefcnt, worefcnt,
2626
; m x valueid,
2727
; n x (valueid, hotness+tailcall)]
28-
; CHECK-NEXT: <PERMODULE_PROFILE {{.*}} op0=0 op1=0 op2=4 op3=256 op4=1 op5=1 op6=0 op7=21 op8=20 op9=3/>
28+
; 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/>
2929
; CHECK-NEXT: </GLOBALVAL_SUMMARY_BLOCK>
3030

3131
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"

llvm/test/Bitcode/thinlto-function-summary-callgraph-partial-sample-profile-summary.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
; CHECK-LABEL: <GLOBALVAL_SUMMARY_BLOCK
3131
; CHECK-NEXT: <VERSION
3232
; CHECK-NEXT: <FLAGS
33-
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=27 op1=0 op2=123/>
33+
; CHECK-NEXT: <VALUE_GUID op0=27 op1=123/>
3434
; op4=none1 op6=hot1 op8=cold1 op10=none2 op12=hot2 op14=cold2 op16=none3 op18=hot3 op20=cold3 op22=123
3535
; 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/>
3636
; CHECK-NEXT: <BLOCK_COUNT op0=4/>

llvm/test/Bitcode/thinlto-function-summary-callgraph-pgo.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
; COMBINED: <GLOBALVAL_SUMMARY_BLOCK
2727
; COMBINED-NEXT: <VERSION
2828
; COMBINED-NEXT: <FLAGS
29-
; COMBINED-NEXT: <VALUE_GUID {{.*}} op0=[[FUNCID:[0-9]+]] op1=1697143370 op2=1603531901/>
29+
; COMBINED-NEXT: <VALUE_GUID op0=[[FUNCID:[0-9]+]] op1=7289175272376759421/>
3030
; COMBINED-NEXT: <VALUE_GUID
3131
; COMBINED-NEXT: <COMBINED
3232
; See if the call to func is registered, using the expected hotness type.

llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
; CHECK-LABEL: <GLOBALVAL_SUMMARY_BLOCK
4848
; CHECK-NEXT: <VERSION
4949
; CHECK-NEXT: <FLAGS
50-
; CHECK-NEXT: <VALUE_GUID {{.*}} op0=25 op1=0 op2=123/>
50+
; CHECK-NEXT: <VALUE_GUID op0=25 op1=123/>
5151
; op4=hot1 op6=cold op8=hot2 op10=hot4 op12=none1 op14=hot3 op16=none2 op18=none3 op20=123
5252
; 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/>
5353
; CHECK-NEXT: </GLOBALVAL_SUMMARY_BLOCK>

0 commit comments

Comments
 (0)