llvm-project/llvm/utils/TableGen
Daniel Sanders 6d9d30a917 [tablegen] Handle atomic predicates for ordering inside tablegen. NFC.
Similar to r315841, GlobalISel and SelectionDAG require different code for the
common atomic predicates due to differences in the representation.
Even without that, differences in the IR (SDNode vs MachineInstr) require
differences in the C++ predicate.

This patch moves the implementation of the common atomic predicates related to
ordering into tablegen so that it can handle these differences.

It's NFC for SelectionDAG since it emits equivalent code and it's NFC for
GlobalISel since the rules involving the relevant predicates are still
rejected by the importer.

llvm-svn: 318102
2017-11-13 23:03:47 +00:00
..
AsmMatcherEmitter.cpp [AsmParser][TableGen] Add VariantID argument to the generated mnemonic spell check function so it can use the correct table based on variant. 2017-10-26 06:46:41 +00:00
AsmWriterEmitter.cpp fix printing of alias instructions by removing redundant spacing 2017-11-13 18:00:24 +00:00
AsmWriterInst.cpp
AsmWriterInst.h
Attributes.cpp [TableGen] Adapt more places to getValueAsString now returning a StringRef instead of a std::string. 2017-05-31 21:12:46 +00:00
CMakeLists.txt Move the llvm-tblgen project into the Tablegenning folder on IDEs like Visual Studio rather than leave it in the root directory. NFC. 2017-11-04 20:07:16 +00:00
CTagsEmitter.cpp Use StringRef for MemoryBuffer identifier API (NFC) 2016-10-01 16:38:28 +00:00
CallingConvEmitter.cpp [TableGen] Simplify CallingConvEmitter.cpp. NFC. 2017-10-16 14:52:26 +00:00
CodeEmitterGen.cpp [tablegen] Avoid creating a temporary vector in getInstructionCase 2017-07-04 06:16:53 +00:00
CodeGenDAGPatterns.cpp [tablegen] Handle atomic predicates for ordering inside tablegen. NFC. 2017-11-13 23:03:47 +00:00
CodeGenDAGPatterns.h [tablegen] Handle atomic predicates for ordering inside tablegen. NFC. 2017-11-13 23:03:47 +00:00
CodeGenHwModes.cpp TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
CodeGenHwModes.h TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
CodeGenInstruction.cpp [TableGen] : CodeGenInsrtuction modify to range loop. NFC. 2017-10-06 09:32:45 +00:00
CodeGenInstruction.h [TableGen] Use StringRef instead of std::string for CodeGenInstruction namespace. NFC 2017-07-07 06:22:35 +00:00
CodeGenIntrinsics.h TableGen: Add IntrHasSideEffects property for intrinsics 2017-04-28 21:01:46 +00:00
CodeGenMapTable.cpp [TableGen] Use StringRef instead of std::string for CodeGenInstruction namespace. NFC 2017-07-07 06:22:35 +00:00
CodeGenRegisters.cpp [TableGen] Replace InfoByHwMode::getAsString with writeToStream 2017-09-22 18:29:37 +00:00
CodeGenRegisters.h TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
CodeGenSchedule.cpp [TableGen] Tidy up CodeGenSchedule.cpp 2017-10-11 09:33:23 +00:00
CodeGenSchedule.h [MiSched|TableGen] : Tidy up and modernise. NFC. 2017-09-13 10:31:10 +00:00
CodeGenTarget.cpp TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
CodeGenTarget.h TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
DAGISelEmitter.cpp Allow separation of declarations and definitions in <Target>ISelDAGToDAG.inc 2017-11-10 18:36:04 +00:00
DAGISelMatcher.cpp [TableGen] Range loopify DAGISelMatcher. NFC. 2017-10-16 06:43:54 +00:00
DAGISelMatcher.h Remove `inline` keyword from inline `classof` methods 2017-06-29 19:35:17 +00:00
DAGISelMatcherEmitter.cpp Allow separation of declarations and definitions in <Target>ISelDAGToDAG.inc 2017-11-10 18:36:04 +00:00
DAGISelMatcherGen.cpp TableGen support for parameterized register class information 2017-09-14 16:56:21 +00:00
DAGISelMatcherOpt.cpp [TableGen] Use less stack in DAGISelMatcherOpt 2017-02-06 19:41:44 +00:00
DFAPacketizerEmitter.cpp Fix some Clang-tidy and Include What You Use warnings; other minor fixes (NFC). 2016-11-30 17:48:10 +00:00
DisassemblerEmitter.cpp TableGen: Use StringRef instead of const std::string& in return vals. 2016-12-04 05:48:16 +00:00
FastISelEmitter.cpp Strip trailing whitespace 2017-10-06 15:33:55 +00:00
FixedLenDecoderEmitter.cpp [tablegen] Avoid creating temporary strings 2017-07-05 20:14:54 +00:00
GlobalISelEmitter.cpp [globalisel][tablegen] Add support for extload. 2017-11-13 18:30:23 +00:00
InfoByHwMode.cpp [TableGen] Replace InfoByHwMode::getAsString with writeToStream 2017-09-22 18:29:37 +00:00
InfoByHwMode.h [TableGen] Replace InfoByHwMode::getAsString with writeToStream 2017-09-22 18:29:37 +00:00
InstrInfoEmitter.cpp [TableGen] Use StringRef instead of std::string for CodeGenInstruction namespace. NFC 2017-07-07 06:22:35 +00:00
IntrinsicEmitter.cpp [TableGen] Allow intrinsics to have up to 8 return values. 2017-10-12 17:40:00 +00:00
LLVMBuild.txt
OptParserEmitter.cpp [Bash-autocompletion] Add support for -std= 2017-08-29 02:01:56 +00:00
PseudoLoweringEmitter.cpp TableGen: Use StringInit instead of std::string for DagInit arg names 2016-12-05 06:00:46 +00:00
RegisterBankEmitter.cpp [globalisel][regbank] Warn about MIR ambiguities when register bank/class names clash. 2017-11-01 22:13:05 +00:00
RegisterInfoEmitter.cpp [TableGen] : Simplify RegisterInfoEmitter 2017-10-13 16:27:57 +00:00
SearchableTableEmitter.cpp [tablegen] Avoid creating temporary strings 2017-07-05 20:14:54 +00:00
SequenceToOffsetTable.h Remove usages of deprecated std::unary_function and std::binary_function. 2017-09-14 18:33:25 +00:00
SubtargetEmitter.cpp [TableGen] Use Twine instead of std::string concatenation in two calls to PrintFatalError. 2017-10-26 20:49:36 +00:00
SubtargetFeatureInfo.cpp Reverting r315590; it did not include changes for llvm-tblgen, which is causing link errors for several people. 2017-10-15 14:32:27 +00:00
SubtargetFeatureInfo.h [globalisel][tablegen] Compute available feature bits correctly. 2017-04-29 17:30:09 +00:00
TableGen.cpp [X86][TableGen] Recommitting the X86 memory folding tables TableGen backend while disabling it by default. 2017-10-08 09:20:32 +00:00
TableGenBackends.h [X86][TableGen] Recommitting the X86 memory folding tables TableGen backend while disabling it by default. 2017-10-08 09:20:32 +00:00
Types.cpp [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule. 2017-04-21 15:59:56 +00:00
Types.h Check that emitted instructions meet their predicates on all targets except ARM, Mips, and X86. 2016-11-19 13:05:44 +00:00
X86DisassemblerShared.h
X86DisassemblerTables.cpp [X86] Fix disassembler table generation to prevent instructions tagged with 'PS' being inherited into PD/XS/XD attribute entries. 2017-10-23 16:49:26 +00:00
X86DisassemblerTables.h [X86] Fix disassembler table generation to prevent instructions tagged with 'PS' being inherited into PD/XS/XD attribute entries. 2017-10-23 16:49:26 +00:00
X86EVEX2VEXTablesEmitter.cpp [X86] Teach EVEX->VEX pass to turn SHUFI32X4/SHUFF32X4/SHUFI64X/SHUFF64X2 into VPERM2F128/VPERM2I128. 2017-11-04 18:10:03 +00:00
X86FoldTablesEmitter.cpp Fix warnings discovered by rL317076. [-Wunused-private-field] 2017-11-01 13:47:55 +00:00
X86ModRMFilters.cpp
X86ModRMFilters.h fix trivial typos in comments; NFC 2017-07-04 13:09:29 +00:00
X86RecognizableInstr.cpp [X86] Fix disassembler table generation to prevent instructions tagged with 'PS' being inherited into PD/XS/XD attribute entries. 2017-10-23 16:49:26 +00:00
X86RecognizableInstr.h [X86] Fix disassembly of EVEX rounding control and SAE instructions. 2017-10-23 02:26:24 +00:00
tdtags