[llvm-bugs] [Bug 28451] New: [TableGen] DFA table wrong with multiple itineraries
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jul 7 05:39:45 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=28451
Bug ID: 28451
Summary: [TableGen] DFA table wrong with multiple itineraries
Product: tools
Version: 3.8
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: TableGen
Assignee: unassignedbugs at nondot.org
Reporter: lars+llvmbug at 6xq.net
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Created attachment 16708
--> https://llvm.org/bugs/attachment.cgi?id=16708&action=edit
Truncated tblgen debugging output
Commit bf390b05bc5c3674520ae480af69d1a935a06f2b does not take into account that
multiple itineraries can exist for the same architecture and assigns FU
name/value mappings for all of them to the same FUNameToBitsMap in
collectAllFuncUnits, overwriting previous ones. This results in an (seemingly
unrelated) assertion failure, because the generated DFA table lacks the
expected state transitions:
clang-3.8: /lib/CodeGen/DFAPacketizer.cpp:129: void
llvm::DFAPacketizer::reserveResources(const llvm::MCInstrDesc*): Assertion
`CachedTable.count(StateTrans) != 0' failed.
See attached log of -debug-only dfa-emitter, which demonstrates the problem
(CoreVAItineraries_1slot’s ME0 stage is assigned value 0x4, which is
overwritten by CoreVAItineraries_4slot’s ME0=0x10 and used in
collectAllInsnClasses below).
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160707/ba88416e/attachment.html>
More information about the llvm-bugs
mailing list