Loading llvm/lib/AsmParser/LLParser.cpp +4 −7 Original line number Diff line number Diff line Loading @@ -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)) Loading @@ -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; Loading llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll 0 → 100644 +12 −0 Original line number Diff line number Diff line ; 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
llvm/lib/AsmParser/LLParser.cpp +4 −7 Original line number Diff line number Diff line Loading @@ -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)) Loading @@ -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; Loading
llvm/test/Assembler/thinlto-multiple-summaries-for-guid.ll 0 → 100644 +12 −0 Original line number Diff line number Diff line ; 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)))