[PATCH] D61355: [ThinLTO] Fix unreachable code when parsing summary entries.
Teresa Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 1 09:24:57 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL359697: [ThinLTO] Fix unreachable code when parsing summary entries. (authored by tejohnson, committed by ).
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61355/new/
https://reviews.llvm.org/D61355
Files:
llvm/trunk/lib/AsmParser/LLParser.cpp
llvm/trunk/test/Assembler/thinlto-summary.ll
Index: llvm/trunk/lib/AsmParser/LLParser.cpp
===================================================================
--- llvm/trunk/lib/AsmParser/LLParser.cpp
+++ llvm/trunk/lib/AsmParser/LLParser.cpp
@@ -821,19 +821,23 @@
if (!Index)
return SkipModuleSummaryEntry();
+ bool result = false;
switch (Lex.getKind()) {
case lltok::kw_gv:
- return ParseGVEntry(SummaryID);
+ result = ParseGVEntry(SummaryID);
+ break;
case lltok::kw_module:
- return ParseModuleEntry(SummaryID);
+ result = ParseModuleEntry(SummaryID);
+ break;
case lltok::kw_typeid:
- return ParseTypeIdEntry(SummaryID);
+ result = ParseTypeIdEntry(SummaryID);
break;
default:
- return Error(Lex.getLoc(), "unexpected summary kind");
+ result = Error(Lex.getLoc(), "unexpected summary kind");
+ break;
}
Lex.setIgnoreColonInIdentifiers(false);
- return false;
+ return result;
}
static bool isValidVisibilityForLinkage(unsigned V, unsigned L) {
Index: llvm/trunk/test/Assembler/thinlto-summary.ll
===================================================================
--- llvm/trunk/test/Assembler/thinlto-summary.ll
+++ llvm/trunk/test/Assembler/thinlto-summary.ll
@@ -94,3 +94,7 @@
; CHECK: ^26 = 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: ^27 = typeid: (name: "_ZTS1D", summary: (typeTestRes: (kind: byteArray, sizeM1BitWidth: 0))) ; guid = 9614786172484273522
; CHECK: ^28 = typeid: (name: "_ZTS1E", summary: (typeTestRes: (kind: unsat, sizeM1BitWidth: 0))) ; guid = 17437243864166745132
+
+; Make sure parsing of a non-summary entry containing a ":" does not fail
+; after summary parsing, which handles colons differently.
+!0 = !DIFile(filename: "thinlto-summary.ll", directory: "", source: "")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61355.197569.patch
Type: text/x-patch
Size: 2194 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190501/713d121e/attachment.bin>
More information about the llvm-commits
mailing list