1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/utils/TableGen
James Molloy 74fb57df4f [DFAPacketizer] Allow namespacing of automata per-itinerary
The Hexagon itineraries are cunningly crafted such that functional units between
itineraries do not clash. Because all itineraries are bundled into the same DFA,
a functional unit index clash would cause an incorrect DFA to be generated.

A workaround for this is to ensure all itineraries declare the universe of all
possible functional units, but this isn't ideal for three reasons:
  1) We only have a limited number of FUs we can encode in the packetizer, and
     using the universe causes us to hit the limit without care.
  2) Silent codegen faults are bad, and careful triage of the FU list shouldn't
     be required.
  3) Smooshing all itineraries into the same automaton allows combinations of
     instruction classes that cannot exist, which bloats the table.

A simple solution is to allow "namespacing" packetizers.

Differential Revision: https://reviews.llvm.org/D66940

llvm-svn: 370508
2019-08-30 19:50:49 +00:00
..
AsmMatcherEmitter.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
AsmWriterEmitter.cpp
AsmWriterInst.cpp
AsmWriterInst.h
Attributes.cpp
CallingConvEmitter.cpp
CMakeLists.txt
CodeEmitterGen.cpp Use a bit of relaxed constexpr to make FeatureBitset costant intializable 2019-08-24 15:02:44 +00:00
CodeGenDAGPatterns.cpp Retire llvm::less/equal in favor of C++14 std::less<>/equal_to<>. 2019-08-22 17:31:59 +00:00
CodeGenDAGPatterns.h TableGen: Add MinAlignment predicate 2019-07-31 00:14:43 +00:00
CodeGenHwModes.cpp
CodeGenHwModes.h
CodeGenInstruction.cpp Allow target to handle STRICT floating-point nodes 2019-06-05 22:33:10 +00:00
CodeGenInstruction.h Allow target to handle STRICT floating-point nodes 2019-06-05 22:33:10 +00:00
CodeGenIntrinsics.h Teach GlobalISelEmitter to treat used iPTRAny operands as pointer operands 2019-08-20 22:04:10 +00:00
CodeGenMapTable.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
CodeGenRegisters.cpp Retire llvm::less/equal in favor of C++14 std::less<>/equal_to<>. 2019-08-22 17:31:59 +00:00
CodeGenRegisters.h Retire llvm::less/equal in favor of C++14 std::less<>/equal_to<>. 2019-08-22 17:31:59 +00:00
CodeGenSchedule.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
CodeGenSchedule.h
CodeGenTarget.cpp [ValueTypes] Add v16f16 and v32f16 to EVT::getEVTString and Tablegen's getEnumName 2019-08-30 17:34:29 +00:00
CodeGenTarget.h Recommit "[GlobalISel] Import patterns containing INSERT_SUBREG" 2019-08-27 17:47:06 +00:00
CTagsEmitter.cpp
DAGISelEmitter.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
DAGISelMatcher.cpp [TableGen] Replace a dyn_cast with isa to avoid an unused variable warning introduced in r355785. NFC 2019-03-11 16:51:37 +00:00
DAGISelMatcher.h TableGen: Support physical register inputs > 255 2019-07-22 15:02:34 +00:00
DAGISelMatcherEmitter.cpp TableGen: Support physical register inputs > 255 2019-07-22 15:02:34 +00:00
DAGISelMatcherGen.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
DAGISelMatcherOpt.cpp
DFAPacketizerEmitter.cpp [DFAPacketizer] Allow namespacing of automata per-itinerary 2019-08-30 19:50:49 +00:00
DisassemblerEmitter.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
ExegesisEmitter.cpp
FastISelEmitter.cpp
FixedLenDecoderEmitter.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
GlobalISelEmitter.cpp GlobalISel/TableGen: Handle setcc patterns 2019-08-29 01:13:41 +00:00
InfoByHwMode.cpp
InfoByHwMode.h
InstrDocsEmitter.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
InstrInfoEmitter.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
IntrinsicEmitter.cpp [IntrinsicEmitter] Support scalable vectors in intrinsics 2019-08-27 12:57:09 +00:00
LLVMBuild.txt
OptParserEmitter.cpp
PredicateExpander.cpp
PredicateExpander.h
PseudoLoweringEmitter.cpp
RegisterBankEmitter.cpp
RegisterInfoEmitter.cpp Retire llvm::less/equal in favor of C++14 std::less<>/equal_to<>. 2019-08-22 17:31:59 +00:00
RISCVCompressInstEmitter.cpp [RISCV] Replace map with set in getReqFeatures 2019-06-10 17:15:45 +00:00
SDNodeProperties.cpp
SDNodeProperties.h
SearchableTableEmitter.cpp Use a bit of relaxed constexpr to make FeatureBitset costant intializable 2019-08-24 15:02:44 +00:00
SequenceToOffsetTable.h
SubtargetEmitter.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
SubtargetFeatureInfo.cpp Use a bit of relaxed constexpr to make FeatureBitset costant intializable 2019-08-24 15:02:44 +00:00
SubtargetFeatureInfo.h Use bitset for assembler predicates 2019-03-11 17:04:35 +00:00
TableGen.cpp
TableGenBackends.h
tdtags
Types.cpp
Types.h
WebAssemblyDisassemblerEmitter.cpp [TableGen] Correct comments for end of namespace. NFC 2019-08-25 10:47:30 +00:00
WebAssemblyDisassemblerEmitter.h
X86DisassemblerShared.h
X86DisassemblerTables.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
X86DisassemblerTables.h
X86EVEX2VEXTablesEmitter.cpp [X86] Remove check on isAsmParserOnly from EVEX2VEX tablegenerator. NFCI 2019-04-09 07:40:19 +00:00
X86FoldTablesEmitter.cpp [X86] Make the X86FoldTablesEmitter functional again. Fix the spacing in the output to make it easier to diff. 2019-06-01 06:20:55 +00:00
X86ModRMFilters.cpp
X86ModRMFilters.h
X86RecognizableInstr.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
X86RecognizableInstr.h [X86] Split the VEX_WPrefix in X86Inst tablegen class into 3 separate fields with clear meanings. 2019-04-09 07:40:06 +00:00