llvm-project/llvm/utils/TableGen
Reid Kleckner 45b6159ed3 Minor performance tweaks to llvm-tblgen (and a few that might be a good idea)
Summary:
This patch adds a reserve call to an expensive function
(`llvm::LoadIntrinsics`), and may fix a few other low hanging
performance fruit (I've put them in comments for now, so we can
discuss).

**Motivation:**

As I'm sure other developers do, when I build LLVM, I build the entire
project with the same config (`Debug`, `MinSizeRel`, `Release`, or
`RelWithDebInfo`). However, the `Debug` config also builds llvm-tblgen
in `Debug` mode. Later build steps that run llvm-tblgen then can
actually be the slowest steps in the entire build. Nobody likes slow
builds.

Reviewers: rnk, dblaikie

Differential Revision: http://reviews.llvm.org/D16832

Patch by Alexander G. Riccio

llvm-svn: 259683
2016-02-03 19:34:28 +00:00
..
AsmMatcherEmitter.cpp [TableGen] Add 'register alternative name matching' support 2016-02-03 10:30:16 +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 [TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead of accidentally copying to a vector. 2016-02-01 01:33:42 +00:00
CodeGenDAGPatterns.cpp [TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead of accidentally copying to a vector. 2016-02-01 01:33:42 +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 Minor performance tweaks to llvm-tblgen (and a few that might be a good idea) 2016-02-03 19:34:28 +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] Store result of getInstructionsByEnumValue in an ArrayRef instead of accidentally copying to a vector. 2016-02-01 01:33:42 +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 Minor performance tweaks to llvm-tblgen (and a few that might be a good idea) 2016-02-03 19:34:28 +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
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
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] Store result of getInstructionsByEnumValue in an ArrayRef instead of accidentally copying to a vector. 2016-02-01 01:33:42 +00:00
FastISelEmitter.cpp
FixedLenDecoderEmitter.cpp No need to use utostr/utohexstr when writing into a raw_ostream. NFC 2016-01-31 01:55:15 +00:00
InstrInfoEmitter.cpp [TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead of accidentally copying to a vector. 2016-02-01 01:33:42 +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
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
module.modulemap
tdtags