llvm-project/llvm/utils/TableGen
Reid Kleckner 5b4637141e [llvm-tblgen] Avoid StringMatcher for GCC and MS builtin names
This brings the compile time of Function.cpp from ~40s down to ~4s for
me locally. It also shaves off about 400KB of object file size in a
release+asserts build.

I also realized that the AMDGPU backend does not have any GCC builtin
names to match, so the extra lookup was a no-op. I removed it to silence
a zero-length string table array warning. There should be no functional
change here.

This change really ends the story of PR11951.

llvm-svn: 258897
2016-01-27 01:43:12 +00:00
..
AsmMatcherEmitter.cpp [TableGen] Fix sort order of asm operand classes 2016-01-25 10:20:19 +00:00
AsmWriterEmitter.cpp [TableGen] In AsmWriterEmitter unique command search, rather than storing a mapping from instruction to unique command, instead store a list of which instructions each unique command corresponds to. 2016-01-24 07:13:28 +00:00
AsmWriterInst.cpp [TableGen] Remove the CGIOpNo from AsmWriterOperand as its not used for anything. NFC 2016-01-22 05:59:37 +00:00
AsmWriterInst.h [TableGen] Reorder fields in AsmWriterOperand to remove padding and reduce size. NFC 2016-01-22 05:59:40 +00:00
Attributes.cpp Provide a way to specify inliner's attribute compatibility and merging. 2015-12-22 23:57:37 +00:00
CMakeLists.txt Move the enum attributes defined in Attributes.h to a table-gen file. 2015-11-11 20:35:42 +00:00
CTagsEmitter.cpp [TableGen] Remove unnecessary default constructed SMLoc that just existed to return. Instead just call the default constructor in the return. 2015-06-08 01:35:45 +00:00
CallingConvEmitter.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
CodeEmitterGen.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
CodeGenDAGPatterns.cpp [TableGen] Remove an assumption about the order of encodings in the MVT::SimpleValueType enum. Instead of assuming the types are sorted by size, scan the typeset arrays to find the smallest/largest type. NFC 2015-12-03 05:57:37 +00:00
CodeGenDAGPatterns.h [SelectionDAG] Add a SDTCisSameSizeAs type constraint that can be used to ensure vector widths match even if the element size and count don't. 2015-11-26 07:02:18 +00:00
CodeGenInstruction.cpp Add an OperandNamespace field to Target.td's Operand. 2015-12-22 23:37:37 +00:00
CodeGenInstruction.h [TableGen] Use the SMLoc header file instead of SourceMgr header file in a couple places. NFC 2015-06-08 01:35:40 +00:00
CodeGenIntrinsics.h Emit argmemonly attribute for intrinsics. 2015-08-13 17:40:04 +00:00
CodeGenMapTable.cpp TableGen: Add LLVM_READONLY to generated InstrMapping functions 2015-09-24 07:51:20 +00:00
CodeGenRegisters.cpp [TableGen] Merge the SuperClass Record and SMRange vector into a single vector. This removes the state needed to manage the extra vector thus reducing the size of the Record class. NFC 2016-01-18 19:52:37 +00:00
CodeGenRegisters.h RegAllocGreedy: Allow target to specify register class ordering. 2015-03-31 19:57:53 +00:00
CodeGenSchedule.cpp [TableGen] Replace instructions() with getInstructionsByEnumValue(). No need to make an iterator_range when we already have a function that returns an ArrayRef. NFC 2016-01-17 20:38:18 +00:00
CodeGenSchedule.h Use make_range to reduce mentions of iterator type. NFC 2015-12-06 05:08:07 +00:00
CodeGenTarget.cpp Sort intrinsics by LLVM intrinsic name, rather than tablegen def name 2016-01-26 00:55:00 +00:00
CodeGenTarget.h [TableGen] Replace instructions() with getInstructionsByEnumValue(). No need to make an iterator_range when we already have a function that returns an ArrayRef. NFC 2016-01-17 20:38:18 +00:00
DAGISelEmitter.cpp Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DAGISelMatcher.cpp
DAGISelMatcher.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
DAGISelMatcherEmitter.cpp [TableGen][DAGISel] Dedup predicates with same code to run. NFCI. 2015-08-27 20:43:34 +00:00
DAGISelMatcherGen.cpp Fix tablegen's PrintFatalError function to run registered file 2015-05-11 22:17:13 +00:00
DAGISelMatcherOpt.cpp Use unique_ptr to remove explicit delete. 2014-12-15 00:40:07 +00:00
DFAPacketizerEmitter.cpp Fix Clang-tidy modernize-use-nullptr and modernize-use-override warnings; other minor fixes. 2016-01-26 18:48:36 +00:00
DisassemblerEmitter.cpp [TableGen] Improve decoding options for non-orthogonal instructions 2015-07-15 08:04:27 +00:00
FastISelEmitter.cpp Change order of tablegen generated fast-isel instruction code to be 2014-11-14 21:05:45 +00:00
FixedLenDecoderEmitter.cpp [TableGen] Return ArrayRef instead of a std::vector reference from getInstructionsByEnumValue(). NFC 2016-01-17 20:38:14 +00:00
InstrInfoEmitter.cpp [TableGen] Replace instructions() with getInstructionsByEnumValue(). No need to make an iterator_range when we already have a function that returns an ArrayRef. NFC 2016-01-17 20:38:18 +00:00
IntrinsicEmitter.cpp [llvm-tblgen] Avoid StringMatcher for GCC and MS builtin names 2016-01-27 01:43:12 +00:00
LLVMBuild.txt
OptParserEmitter.cpp Fix some Clang-tidy modernize warnings, other minor fixes. 2015-11-04 22:32:32 +00:00
PseudoLoweringEmitter.cpp MC: Modernize MCOperand API naming. NFC. 2015-05-13 18:37:00 +00:00
RegisterInfoEmitter.cpp Remove extra 'nullptr' entry from an array in tablegen register info file. It should never have been accessed. 2015-09-22 05:37:16 +00:00
SequenceToOffsetTable.h Reduce size of some tables in tablegen register info output. 2014-11-22 18:30:18 +00:00
SubtargetEmitter.cpp [TableGen] Simplify some code slightly. No need to check if the arrays are empty before printing. The loop can be made to print the same thing if the loop is empty. NFC 2016-01-03 08:57:41 +00:00
TableGen.cpp [TableGen] Call llvm_shutdown on exit so that all the ManagedStatic objects in the support library will be deleted. 2016-01-04 04:51:51 +00:00
TableGenBackends.h Move the enum attributes defined in Attributes.h to a table-gen file. 2015-11-11 20:35:42 +00:00
X86DisassemblerShared.h Revert r234389. It really was needed but really should have been cstring instead of string.h 2015-04-08 06:03:17 +00:00
X86DisassemblerTables.cpp AVX-512: Added all AVX-512 forms of Vector Convert for Float/Double/Int/Long types. 2015-07-13 13:26:20 +00:00
X86DisassemblerTables.h [X86] Make the instructions that use AdSize16/32/64 co-exist together without using mode predicates. 2015-01-02 07:02:25 +00:00
X86ModRMFilters.cpp
X86ModRMFilters.h
X86RecognizableInstr.cpp [X86][PKU] Add {RD,WR}PKRU encoding 2015-12-24 08:25:00 +00:00
X86RecognizableInstr.h [X86] Remove the single AdSize indicator and replace it with separate AdSize16/32/64 flags. 2014-12-24 06:05:22 +00:00
module.modulemap
tdtags