mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[llvm-as] Fix assembling of index with multiple summaries sharing single GUID
Differential revision: https://reviews.llvm.org/D73091
This commit is contained in:
parent
4d3808fe5f
commit
25483fac2f
@ -8040,12 +8040,10 @@ bool LLParser::ParseGVEntry(unsigned ID) {
|
||||
|
||||
// Have a list of summaries
|
||||
if (ParseToken(lltok::kw_summaries, "expected 'summaries' here") ||
|
||||
ParseToken(lltok::colon, "expected ':' here"))
|
||||
ParseToken(lltok::colon, "expected ':' here") ||
|
||||
ParseToken(lltok::lparen, "expected '(' here"))
|
||||
return true;
|
||||
|
||||
do {
|
||||
if (ParseToken(lltok::lparen, "expected '(' here"))
|
||||
return true;
|
||||
switch (Lex.getKind()) {
|
||||
case lltok::kw_function:
|
||||
if (ParseFunctionSummary(Name, GUID, ID))
|
||||
@ -8062,11 +8060,10 @@ bool LLParser::ParseGVEntry(unsigned ID) {
|
||||
default:
|
||||
return Error(Lex.getLoc(), "expected summary type");
|
||||
}
|
||||
if (ParseToken(lltok::rparen, "expected ')' here"))
|
||||
return true;
|
||||
} while (EatIfPresent(lltok::comma));
|
||||
|
||||
if (ParseToken(lltok::rparen, "expected ')' here"))
|
||||
if (ParseToken(lltok::rparen, "expected ')' here") ||
|
||||
ParseToken(lltok::rparen, "expected ')' here"))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
12
test/Assembler/thinlto-multiple-summaries-for-guid.ll
Normal file
12
test/Assembler/thinlto-multiple-summaries-for-guid.ll
Normal file
@ -0,0 +1,12 @@
|
||||
; Checks that llvm-as/llvm-dis correctly assembles/disassembles index with
|
||||
; multiple summaries with single GUID.
|
||||
; RUN: llvm-as %s -o - | llvm-dis -o - | FileCheck %s
|
||||
|
||||
source_filename = "index.bc"
|
||||
|
||||
^0 = module: (path: "main.bc", hash: (3499594384, 1671013073, 3271036935, 1830411232, 59290952))
|
||||
; CHECK: ^0 = module: (path: "main.bc", hash: (3499594384, 1671013073, 3271036935, 1830411232, 59290952))
|
||||
^1 = module: (path: "[Regular LTO]", hash: (0, 0, 0, 0, 0))
|
||||
; CHECK-NEXT: ^1 = module: (path: "[Regular LTO]", hash: (0, 0, 0, 0, 0))
|
||||
^2 = gv: (guid: 13351721993301222997, summaries: (function: (module: ^0, flags: (linkage: linkonce_odr, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 1), insts: 1), function: (module: ^1, flags: (linkage: available_externally, notEligibleToImport: 1, live: 1, dsoLocal: 1, canAutoHide: 0), insts: 1)))
|
||||
; CHECK-NEXT: ^2 = gv: (guid: 13351721993301222997, summaries: (function: (module: ^0, flags: (linkage: linkonce_odr, notEligibleToImport: 0, live: 1, dsoLocal: 1, canAutoHide: 1), insts: 1), function: (module: ^1, flags: (linkage: available_externally, notEligibleToImport: 1, live: 1, dsoLocal: 1, canAutoHide: 0), insts: 1)))
|
Loading…
x
Reference in New Issue
Block a user