llvm/utils/TableGen
Bill Wendling 44dcfd3625 Replace the old algorithm that emitted the "print the alias for an instruction"
with the newer, cleaner model. It uses the IAPrinter class to hold the
information that is needed to match an instruction with its alias. This also
takes into account the available features of the platform.

There is one bit of ugliness. The way the logic determines if a pattern is
unique is O(N**2), which is gross. But in reality, the number of items it's
checking against isn't large. So while it's N**2, it shouldn't be a massive time
sink.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129110 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-07 21:20:06 +00:00
..
ARMDecoderEmitter.cpp delegate the disassembly of t2ADR to the more generic t2ADDri12/t2SUBri12 instructions, and add a test case for that. 2011-03-25 00:17:42 +00:00
ARMDecoderEmitter.h I swear I did a make clean and make before committing all this... 2010-11-29 18:47:54 +00:00
AsmMatcherEmitter.cpp tlbgen/MC: StringRef's to temporary objects considered harmful. 2011-04-01 20:23:52 +00:00
AsmMatcherEmitter.h Stub out assembly matcher (.s -> MCInst) tblgen backend. 2009-07-11 19:39:44 +00:00
AsmWriterEmitter.cpp Replace the old algorithm that emitted the "print the alias for an instruction" 2011-04-07 21:20:06 +00:00
AsmWriterEmitter.h * Add classes that support the "feature" information. 2011-03-21 08:31:53 +00:00
AsmWriterInst.cpp factor the operand list (and related fields/operations) out of 2010-11-01 04:03:32 +00:00
AsmWriterInst.h trailing whitespace cleanup 2010-10-11 19:38:01 +00:00
CallingConvEmitter.cpp In the calling convention logic, ValVT is always a legal type, 2010-11-04 10:49:57 +00:00
CallingConvEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
ClangASTNodesEmitter.cpp Allow for creation of clang DeclNodes tables. 2010-05-30 07:21:42 +00:00
ClangASTNodesEmitter.h eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
ClangAttrEmitter.cpp Extend Clang's TableGen emitter for attributes to support bool arguments. 2011-03-26 03:40:01 +00:00
ClangAttrEmitter.h Add a way to emit StringSwitch of clang attribute spellings. 2010-10-20 01:21:53 +00:00
ClangDiagnosticsEmitter.cpp Wrap the struct in an anonymous namespace. 2011-02-13 07:51:19 +00:00
ClangDiagnosticsEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
ClangSACheckersEmitter.cpp ClangSAEmClangSACheckersEmitter, emit info about groups. 2011-03-30 00:22:00 +00:00
ClangSACheckersEmitter.h Add the ClangSACheckersEmitter tablegen backend which will be used for the clang static analyzer. 2011-02-14 17:58:52 +00:00
CMakeLists.txt Put targets on folders, if the IDE supports the feature. 2011-02-20 22:06:10 +00:00
CodeEmitterGen.cpp Tidy up a bit. 2011-02-03 23:26:36 +00:00
CodeEmitterGen.h Move <map> include out of .h and into .cpp. 2010-12-13 01:05:54 +00:00
CodeGenDAGPatterns.cpp - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
CodeGenDAGPatterns.h [AVX] Add type checking support for vector/subvector type constraints. 2011-01-24 20:53:18 +00:00
CodeGenInstruction.cpp - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
CodeGenInstruction.h - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
CodeGenIntrinsics.h Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem 2010-08-05 23:36:21 +00:00
CodeGenRegisters.h Make the register enum value part of the CodeGenRegister struct. 2011-03-11 01:33:54 +00:00
CodeGenTarget.cpp Make the register enum value part of the CodeGenRegister struct. 2011-03-11 01:33:54 +00:00
CodeGenTarget.h Trailing whitespace. 2011-03-11 01:27:24 +00:00
DAGISelEmitter.cpp Teach TableGen to pre-calculate register enum values when creating the 2011-03-11 02:19:02 +00:00
DAGISelEmitter.h Stop emitting predicate functions. They are no longer used. 2010-09-03 00:39:50 +00:00
DAGISelMatcher.cpp Flag -> Glue, the ongoing saga 2010-12-23 18:28:41 +00:00
DAGISelMatcher.h Teach TableGen to pre-calculate register enum values when creating the 2011-03-11 02:19:02 +00:00
DAGISelMatcherEmitter.cpp Teach TableGen to pre-calculate register enum values when creating the 2011-03-11 02:19:02 +00:00
DAGISelMatcherGen.cpp Teach TableGen to pre-calculate register enum values when creating the 2011-03-11 02:19:02 +00:00
DAGISelMatcherOpt.cpp Flag -> Glue, the ongoing saga 2010-12-23 18:28:41 +00:00
DisassemblerEmitter.cpp Add support for the VIA PadLock instructions. 2011-04-04 16:58:13 +00:00
DisassemblerEmitter.h Sketch TableGen disassembler emitter, based on patch by Sean Callanan. 2009-11-25 02:13:23 +00:00
EDEmitter.cpp Add asm parsing support w/ testcases for strex/ldrex family of instructions 2011-03-24 21:04:58 +00:00
EDEmitter.h remove option from tablegen for building static header. 2010-07-20 19:45:21 +00:00
FastISelEmitter.cpp Add source Record* reference to PatternToMatch. Allows better diagnostics. 2010-12-07 23:05:49 +00:00
FastISelEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
FixedLenDecoderEmitter.cpp Ignore isCodeGenOnly instructions when generating diassembly tables. 2011-03-14 20:58:49 +00:00
FixedLenDecoderEmitter.h Add FixedLenDecoderEmitter, the skeleton of a new disassembler emitter for fixed-length instruction encodings. 2011-02-18 21:51:29 +00:00
InstrEnumEmitter.cpp eliminate the Records global variable, patch by Garrison Venn! 2010-12-13 00:23:57 +00:00
InstrEnumEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
InstrInfoEmitter.cpp - Add "Bitcast" target instruction property for instructions which perform 2011-03-15 05:09:26 +00:00
InstrInfoEmitter.h Replace TSFlagsFields and TSFlagsShifts with a simpler TSFlags field. 2010-04-05 03:10:20 +00:00
IntrinsicEmitter.cpp Rename AccessesArguments and AccessesArgumentsReadonly, and rewrite 2010-11-10 18:30:00 +00:00
IntrinsicEmitter.h Fixes for Microsoft Visual Studio 2010, from Steven Watanabe! 2010-05-11 06:17:44 +00:00
LLVMCConfigurationEmitter.cpp llvmc: make switch options ZeroOrMore by default. 2010-12-15 01:21:59 +00:00
LLVMCConfigurationEmitter.h various cleanups to tblgen, patch by Garrison Venn! 2010-12-15 04:48:22 +00:00
Makefile Merge System into Support. 2010-11-29 18:16:10 +00:00
NeonEmitter.cpp Use intrinsics for Neon vmull operations. Radar 9208957. 2011-03-31 00:09:35 +00:00
NeonEmitter.h Use intrinsics for Neon vmull operations. Radar 9208957. 2011-03-31 00:09:35 +00:00
OptParserEmitter.cpp tblgen/OptParser: Use EmitSourceFileHeader. 2010-01-04 22:03:51 +00:00
OptParserEmitter.h TableGen: Add initial backend for clang Driver's option parsing. 2009-11-18 21:29:51 +00:00
Record.cpp Rename lisp-like functions as suggested by Gabor Greif as loooong time 2011-01-07 17:05:37 +00:00
Record.h Rename lisp-like functions as suggested by Gabor Greif as loooong time 2011-01-07 17:05:37 +00:00
RegisterInfoEmitter.cpp Make the register enum value part of the CodeGenRegister struct. 2011-03-11 01:33:54 +00:00
RegisterInfoEmitter.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
StringMatcher.cpp fix a fixme in stringmatcher, having it generate nice looking code if the 2010-10-30 19:57:17 +00:00
StringMatcher.h allow specifying an indentation level for the string matcher. 2010-09-06 03:50:59 +00:00
StringToOffsetTable.h Use raw_ostream::write_escaped instead of EscapeString. 2009-10-17 20:43:19 +00:00
SubtargetEmitter.cpp Add annotations to tablegen-generated processor itineraries, or replace them with something meaningful. I want to be able to read and debug the generated tables. 2011-04-01 02:22:47 +00:00
SubtargetEmitter.h Add annotations to tablegen-generated processor itineraries, or replace them with something meaningful. I want to be able to read and debug the generated tables. 2011-04-01 02:22:47 +00:00
TableGen.cpp Add the ClangSACheckersEmitter tablegen backend which will be used for the clang static analyzer. 2011-02-14 17:58:52 +00:00
TableGenBackend.cpp Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
TableGenBackend.h Replace std::iostreams with raw_ostream in TableGen. 2009-07-03 00:10:29 +00:00
TGLexer.cpp Rename lisp-like functions as suggested by Gabor Greif as loooong time 2011-01-07 17:05:37 +00:00
TGLexer.h Correct small comment order typo. 2011-03-14 02:30:32 +00:00
TGParser.cpp Add missing 'return on failure'. Previously we'd crash after emitting 2011-03-11 19:52:52 +00:00
TGParser.h various cleanups to tblgen, patch by Garrison Venn! 2010-12-15 04:48:22 +00:00
TGValueTypes.cpp Add contexts to some of the MVT APIs. No functionality change yet, just the infrastructure work needed to get the contexts to where they need to be first. 2009-08-12 00:36:31 +00:00
X86DisassemblerShared.h fix build and while at it remove a redudant include 2009-12-19 11:52:18 +00:00
X86DisassemblerTables.cpp Add support for the VIA PadLock instructions. 2011-04-04 16:58:13 +00:00
X86DisassemblerTables.h Add support for the VIA PadLock instructions. 2011-04-04 16:58:13 +00:00
X86ModRMFilters.h I swear I did a make clean and make before committing all this... 2010-11-29 18:47:54 +00:00
X86RecognizableInstr.cpp Add support for the VIA PadLock instructions. 2011-04-04 16:58:13 +00:00
X86RecognizableInstr.h X86 table-generator and disassembler support for the AVX 2011-03-15 01:23:15 +00:00