aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils/TableGen/CodeGenMapTable.cpp
AgeCommit message (Collapse)AuthorFilesLines
2020-01-28Make llvm::StringRef to std::string conversions explicit.Benjamin Kramer1-1/+1
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here. This is mostly mechanical from a custom clang-tidy check, with a lot of manual fixups. It uncovers a lot of minor inefficiencies. This doesn't actually modify StringRef yet, I'll do that in a follow-up.
2019-09-17[TableGen] CodeGenMapTable - Don't dereference a dyn_cast result. NFCI.Simon Pilgrim1-2/+2
The static analyzer is warning about potential null dereferences of dyn_cast<> results - in these cases we can safely use cast<> directly as we know that these cases should all be the correct type, which is why its working atm and anyway cast<> will assert if they aren't. llvm-svn: 372146
2019-08-25[TableGen] Correct comments for end of namespace. NFCBjorn Pettersson1-4/+4
Summary: Update end-of-namespace comments generated by tablegen emitters to fulfill the rules setup by clang-tidy's llvm-namespace-comment checker. Fixed a few end-of-namespace comments in the tablegen source code as well. Reviewers: craig.topper Reviewed By: craig.topper Subscribers: craig.topper, stoklund, dschuff, sbc100, jgravelle-google, aheejin, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D66396 llvm-svn: 369865
2019-01-19Update the file headers across all of the LLVM projects in the monorepoChandler Carruth1-4/+3
to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
2018-01-08[mips] Improve diagnostics for instruction mappingAleksandar Beserminji1-1/+6
This patch improves diagnostic for case when mapped instruction does not contain a field listed under RowFields. Differential Revision: https://reviews.llvm.org/D41778 llvm-svn: 322004
2017-07-07[TableGen] Use StringRef instead of std::string for CodeGenInstruction ↵Craig Topper1-2/+2
namespace. NFC llvm-svn: 307362
2017-03-27[TableGen] Make CodeGenMapTable understand the namespace field of an instructionKarl-Johan Karlsson1-8/+8
Do not force the backends to use target name as namespace. Original patch by Mattias Eriksson Reviewers: stoklund, craig.topper Reviewed By: stoklund Subscribers: materi, llvm-commits Differential Revision: https://reviews.llvm.org/D31322 llvm-svn: 298834
2016-12-01[tablegen] Delete duplicates from a vector without skipping elementsVedant Kumar1-0/+1
Tablegen's -gen-instr-info pass has a bug in its emitEnums() routine. The function intends for values in a vector to be deduplicated, but it accidentally skips over elements after performing a deletion. I think there are smarter ways of doing this deduplication, but we can do that in a follow-up commit if there's interest. See the thread: [PATCH] TableGen InstrMapping Bug fix. Patch by Tyler Kenney! llvm-svn: 288408
2016-03-10[TableGen] more helpful error message in MapTableEmitterNicolai Haehnle1-2/+12
Differential Revision: http://reviews.llvm.org/D17275 llvm-svn: 263148
2016-02-11[TableGen] Use range-based for loops. NFCCraig Topper1-10/+7
llvm-svn: 260502
2016-02-01[TableGen] Store result of getInstructionsByEnumValue in an ArrayRef instead ↵Craig Topper1-1/+1
of accidentally copying to a vector. llvm-svn: 259336
2015-09-24TableGen: Add LLVM_READONLY to generated InstrMapping functionsMatt Arsenault1-1/+1
These just read from a generated table. llvm-svn: 248473
2015-06-02[TableGen] Rename ListInit::getSize to just 'size' to be more consistent.Craig Topper1-8/+8
llvm-svn: 238806
2015-06-02[TableGen] Use range-based for loops. NFC.Craig Topper1-14/+10
llvm-svn: 238805
2015-05-14[TableGen] Replace some calls to ListInit::getSize() with ListInit::empty() ↵Craig Topper1-1/+1
if it was just comparing to 0. NFC. llvm-svn: 237340
2015-01-15Replace size method call of containers to empty method where appropriateAlexander Kornienko1-2/+2
This patch was generated by a clang tidy checker that is being open sourced. The documentation of that checker is the following: /// The emptiness of a container should be checked using the empty method /// instead of the size method. It is not guaranteed that size is a /// constant-time function, and it is generally more efficient and also shows /// clearer intent to use empty. Furthermore some containers may implement the /// empty method but not implement the size method. Using empty whenever /// possible makes it easier to switch to another container in the future. Patch by Gábor Horváth! llvm-svn: 226161
2014-04-15[C++11] More 'nullptr' conversion. In some cases just using a boolean check ↵Craig Topper1-2/+2
instead of comparing to nullptr. llvm-svn: 206254
2014-03-03Unbreak the C++11 build.Benjamin Kramer1-1/+1
llvm-svn: 202714
2013-12-05Correct word hyphenationsAlp Toker1-1/+1
This patch tries to avoid unrelated changes other than fixing a few hyphen-related ambiguities and contractions in nearby lines. llvm-svn: 196471
2013-10-01Remove several unused variables.Rafael Espindola1-1/+0
Patch by Alp Toker. llvm-svn: 191757
2013-02-14Fix for bug 15246 -- out-of-bound error in the TableGen backend, ↵Jyotsna Verma1-5/+4
CodeGenMapTable.cpp. llvm-svn: 175185
2012-10-25Remove exception handling usage from tblgen.Joerg Sonnenberger1-16/+14
Most places can use PrintFatalError as the unwinding mechanism was not used for anything other than printing the error. The single exception was CodeGenDAGPatterns.cpp, where intermediate errors during type resolution were ignored to simplify incremental platform development. This use is replaced by an error flag in TreePattern and bailout earlier in various places if it is set. llvm-svn: 166712
2012-10-25Remove unused member & unnecessary semicolon.David Blaikie1-3/+2
llvm-svn: 166694
2012-10-25add TableGen support to create relationship maps between instructionsSebastian Pop1-0/+609
Relationship maps are represented as InstrMapping records which are parsed by TableGen and the information is used to construct mapping tables to represent appropriate relations between instructions. These tables are emitted into XXXGenInstrInfo.inc file along with the functions to query them. Patch by Jyotsna Verma <jverma@codeaurora.org>. llvm-svn: 166685