llvm-project/llvm/utils/TableGen
Cameron Desrochers d784845de1 [TableGen] Fixed 64-bit filters being sliced to 32 bits in FixedLenDecoderEmitter
When using the FixedLenDecoderEmitter, llvm-tblgen emits tables with (OPC_ExtractField, OPC_ExtractFilterValue) opcode sequences to match the contiguous fixed bits of a given instruction's encoding. This encoding is represented in a 64-bit integer. However, the filter values were represented in a 32-bit integer. As such, instructions with fixed 64-bit encodings resulted in a table with an OPC_ExtractField for all 64 bits, followed by an OPC_ExtractFilterValue containing just the low 32 bits of their encoding, causing the filter never to match.

The exact point at which the slicing occurred was during the map insertion at line 630.

Differential Revision: https://reviews.llvm.org/D92423
2020-12-14 12:42:35 -05:00
..
GlobalISel [TableGen] Eliminte source location from CodeInit 2020-11-23 11:30:13 -05:00
AsmMatcherEmitter.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
AsmWriterEmitter.cpp [TableGen] Eliminate the 'code' type 2020-12-03 10:19:11 -05:00
AsmWriterInst.cpp [MCInstPrinter] Pass `Address` parameter to MCOI::OPERAND_PCREL typed operands. NFC 2020-03-26 08:21:15 -07:00
AsmWriterInst.h [MCInstPrinter] Pass `Address` parameter to MCOI::OPERAND_PCREL typed operands. NFC 2020-03-26 08:21:15 -07:00
Attributes.cpp Sort EnumAttr so it matches Attribute::operator< 2020-04-26 17:00:25 +02:00
CMakeLists.txt [openmp] Base of tablegen generated OpenMP common declaration 2020-06-23 10:32:32 -04:00
CTagsEmitter.cpp
CallingConvEmitter.cpp [TableGen] Add frontend/backend phase timing capability. 2020-11-14 10:10:29 -05:00
CodeEmitterGen.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
CodeGenDAGPatterns.cpp [SVE] Replace TypeSize comparison operators in llvm/utils/TableGen 2020-10-19 08:21:36 +01:00
CodeGenDAGPatterns.h [TableGen] Delete 11 unused declarations 2020-12-06 13:21:07 -08:00
CodeGenHwModes.cpp
CodeGenHwModes.h Explicitly include <cassert> when using assert 2020-03-02 22:45:28 +01:00
CodeGenInstruction.cpp [TableGen] Handle (outs variable_ops) 2020-06-04 16:07:33 +03:00
CodeGenInstruction.h Explicitly include <cassert> when using assert 2020-03-02 22:45:28 +01:00
CodeGenIntrinsics.h [IR] Add NoUndef attribute to Intrinsics.td 2020-08-27 02:54:48 +09:00
CodeGenMapTable.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
CodeGenRegisters.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
CodeGenRegisters.h [TableGen] Use llvm::is_contained (NFC) 2020-11-06 14:18:01 -08:00
CodeGenSchedule.cpp [Tablegen] Use llvm::is_contained (NFC) 2020-12-09 23:34:07 -08:00
CodeGenSchedule.h [TableGen][SchedModels] Simplify the code. NFC 2020-12-07 11:53:33 +03:00
CodeGenTarget.cpp [Tablegen] Use llvm::is_contained (NFC) 2020-12-09 23:34:07 -08:00
CodeGenTarget.h [TableGen] [CodeGenTarget] Cache the target's instruction namespace. 2020-12-06 11:08:30 -05:00
DAGISelEmitter.cpp [Timer] Add a command option to enable/disable timer sorting. 2020-11-28 11:43:38 -05:00
DAGISelMatcher.cpp
DAGISelMatcher.h [TableGen] [ISel Matcher Emitter] Rework with two passes: one to size, one to emit 2020-11-21 10:59:13 -05:00
DAGISelMatcherEmitter.cpp [TableGen] [ISel Matcher Emitter] Rework with two passes: one to size, one to emit 2020-11-21 10:59:13 -05:00
DAGISelMatcherGen.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
DAGISelMatcherOpt.cpp
DFAEmitter.cpp [TableGen] Eliminate the 'code' type 2020-12-03 10:19:11 -05:00
DFAEmitter.h DFAEmitter.h - remove unnecessary headers. NFC. 2020-05-08 14:53:10 +01:00
DFAPacketizerEmitter.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
DirectiveEmitter.cpp Revert "[openmp] Remove clause from OMPKinds.def and use OMP.td info" 2020-12-10 10:34:59 -05:00
DisassemblerEmitter.cpp
ExegesisEmitter.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
FastISelEmitter.cpp
FixedLenDecoderEmitter.cpp [TableGen] Fixed 64-bit filters being sliced to 32 bits in FixedLenDecoderEmitter 2020-12-14 12:42:35 -05:00
GICombinerEmitter.cpp [TableGen] Delete 11 unused declarations 2020-12-06 13:21:07 -08:00
GlobalISelEmitter.cpp [TableGen] Delete 11 unused declarations 2020-12-06 13:21:07 -08:00
InfoByHwMode.cpp
InfoByHwMode.h
InstrDocsEmitter.cpp
InstrInfoEmitter.cpp [TableGen] Cache the vectors of records returned by getAllDerivedDefinitions(). 2020-12-09 10:54:04 -05:00
IntrinsicEmitter.cpp [SVE] Replace TypeSize comparison operators in llvm/utils/TableGen 2020-10-19 08:21:36 +01:00
OptEmitter.cpp
OptEmitter.h
OptParserEmitter.cpp [clang][cli] Unify boolean marshalling 2020-12-08 13:47:30 +01:00
OptRSTEmitter.cpp Avoid including FileSystem.h from MemoryBuffer.h 2020-02-29 12:30:23 -08:00
PredicateExpander.cpp [ARM][SchedModels] Convert IsPredicatedPred to MCSchedPredicate 2020-10-19 11:37:54 +03:00
PredicateExpander.h [ARM][SchedModels] Convert IsPredicatedPred to MCSchedPredicate 2020-10-19 11:37:54 +03:00
PseudoLoweringEmitter.cpp [TableGen] Add frontend/backend phase timing capability. 2020-11-14 10:10:29 -05:00
RISCVCompressInstEmitter.cpp [TableGen] Eliminate the 'code' type 2020-12-03 10:19:11 -05:00
RegisterBankEmitter.cpp [Tablegen] Use llvm::is_contained (NFC) 2020-12-09 23:34:07 -08:00
RegisterInfoEmitter.cpp [TableGen] Add frontend/backend phase timing capability. 2020-11-14 10:10:29 -05:00
SDNodeProperties.cpp
SDNodeProperties.h
SearchableTableEmitter.cpp [TableGen] Eliminate the 'code' type 2020-12-03 10:19:11 -05:00
SequenceToOffsetTable.h
SubtargetEmitter.cpp [TableGen][SchedModels] Simplify the code. NFC 2020-12-07 11:53:33 +03:00
SubtargetFeatureInfo.cpp [TableGen] Indentation and whitespace fixes in generated code. NFC. 2020-11-06 16:10:57 +00:00
SubtargetFeatureInfo.h SubtargetFeatureInfo.h - remove unnecessary include and forward declarations. NFCI. 2020-07-20 13:39:24 +01:00
TableGen.cpp [TableGen] Add frontend/backend phase timing capability. 2020-11-14 10:10:29 -05:00
TableGenBackends.h [flang][openmp] Check clauses allowed semantic with tablegen generated map 2020-07-11 12:45:12 -04:00
Types.cpp
Types.h
WebAssemblyDisassemblerEmitter.cpp [WebAssembly] Prototype extending multiplication SIMD instructions 2020-10-28 09:38:59 -07:00
WebAssemblyDisassemblerEmitter.h
X86DisassemblerShared.h
X86DisassemblerTables.cpp [X86] Remove MODRM_SPLITREGM from the disassembler tables. 2020-07-03 00:16:20 -07:00
X86DisassemblerTables.h
X86EVEX2VEXTablesEmitter.cpp
X86FoldTablesEmitter.cpp [X86] Sort the tables before printing in X86FoldTablesEmitter. 2020-10-18 17:39:38 -07:00
X86ModRMFilters.cpp [X86-64] Support Intel AMX instructions 2020-07-02 08:57:04 +08:00
X86ModRMFilters.h [X86-64] Support Intel AMX instructions 2020-07-02 08:57:04 +08:00
X86RecognizableInstr.cpp [X86] Allow lsl/lar to be parsed with a GR16, GR32, or GR64 as source register. 2020-07-15 23:51:37 -07:00
X86RecognizableInstr.h [X86-64] Support Intel AMX instructions 2020-07-02 08:57:04 +08:00
tdtags