summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/TableGen.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Move the enum attributes defined in Attributes.h to a table-gen file.Akira Hatanaka2015-11-111-1/+7
| | | | | | | | | | | | | | This is a step towards consolidating some of the information regarding attributes in a single place. This patch moves the enum attributes in Attributes.h to the table-gen file. Additionally, it adds definitions of target independent string attributes that will be used in follow-up commits by the inliner to check attribute compatibility. rdar://problem/19836465 llvm-svn: 252796
* Use range-based for loops. NFCCraig Topper2014-12-111-9/+7
| | | | llvm-svn: 224005
* Move SetTheory from utils/TableGen into lib/TableGen so Clang can use it.James Molloy2014-06-171-1/+1
| | | | llvm-svn: 211100
* replace LeakSanitizerIsTurnedOffForTheCurrentProcess with ↵Kostya Serebryany2014-01-151-5/+7
| | | | | | __lsan_is_turned_off, but this time hide it under __has_feature(address_sanitizer); also include <sanitizer/lsan_interface.h> llvm-svn: 199303
* reapply r198858: Disable LeakSanitizer in TableGen binaries, see PR18325; ↵Kostya Serebryany2014-01-101-0/+7
| | | | | | this time LeakSanitizerIsTurnedOffForTheCurrentProcess is used instead of __lsan_is_turned_off llvm-svn: 198922
* Revert "Disable LeakSanitizer in TableGen binaries, see PR18325"Alp Toker2014-01-091-7/+0
| | | | | | | | | | | To declare or define reserved identifers is undefined behaviour in standard C++. This needs to be addressed in compiler-rt before it can be used in LLVM. See the list discussion for details. This reverts commit r198858. llvm-svn: 198884
* Disable LeakSanitizer in TableGen binaries, see PR18325Kostya Serebryany2014-01-091-0/+7
| | | | llvm-svn: 198858
* Add TableGen ctags(1) emitter and helper script.Sean Silva2013-03-211-1/+7
| | | | | | | | | | | | | | | | | | | | | To use this in conjunction with exuberant ctags to generate a single combined tags file, run tblgen first and then $ ctags --append [...] Since some identifiers have corresponding definitions in C++ code, it can be useful (if using vim) to also use cscope, and :set cscopetagorder=1 so that :tag X will preferentially select the tablegen symbol, while :cscope find g X will always find the C++ symbol. Patch by Kevin Schoedel! (a couple small formatting changes courtesy of clang-format) llvm-svn: 177682
* Remove edis - the enhanced disassembler. Fixes PR14654.Roman Divacky2012-12-191-6/+0
| | | | llvm-svn: 170578
* Copy clang/Driver/<Option parsing stuff> to llvm.Michael J. Spencer2012-12-051-1/+7
| | | | llvm-svn: 169344
* Sort the #include lines for utils/...Chandler Carruth2012-12-041-1/+0
| | | | | | | I've tried to find main moudle headers where possible, but the TableGen stuff may warrant someone else looking at it. llvm-svn: 169251
* tblgen: Migrate llvm-tblgen to new TableGenMain API.Sean Silva2012-10-031-82/+77
| | | | llvm-svn: 165166
* Write llvm-tblgen backends as functions instead of sub-classes.Jakob Stoklund Olesen2012-06-111-32/+19
| | | | | | | | | The TableGenBackend base class doesn't do much, and will be removed completely soon. Patch by Sean Silva! llvm-svn: 158311
* Removing unused default switch cases in switches over enums that already ↵David Blaikie2012-01-161-3/+0
| | | | | | | | account for all enumeration values explicitly. (This time I believe I've checked all the -Wreturn-type warnings from GCC & added the couple of llvm_unreachables necessary to silence them. If I've missed any, I'll happily fix them as soon as I know about them) llvm-svn: 148262
* Unweaken vtables as per ↵David Blaikie2011-12-201-84/+84
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146960
* Add a deterministic finite automaton based packetizer for VLIW architecturesAnshuman Dasgupta2011-12-011-0/+7
| | | | llvm-svn: 145629
* Remove the old-style ARM disassembler, which is no longer used.Owen Anderson2011-11-091-7/+0
| | | | llvm-svn: 144243
* Remove the Clang tblgen backends from LLVM.Peter Collingbourne2011-10-061-122/+0
| | | | llvm-svn: 141293
* Move TableGen's parser and entry point into a libraryPeter Collingbourne2011-10-011-144/+61
| | | | | | This is the first step towards splitting LLVM and Clang's tblgen executables. llvm-svn: 140951
* Remove more of llvmc and dependencies.Eric Christopher2011-09-201-7/+0
| | | | llvm-svn: 140121
* Added LateParsed property to TableGen attributes.Caitlin Sadowski2011-09-081-0/+7
| | | | | | This patch was written by DeLesley Hutchins. llvm-svn: 139300
* Dependency should be on the output file name, not the dependency fileJoerg Sonnenberger2011-09-071-1/+1
| | | | | | name. llvm-svn: 139220
* Revert r134921, 134917, 134908 and 134907. They're causing failuresEric Christopher2011-07-111-12/+1
| | | | | | in multiple buildbots. llvm-svn: 134936
* [AVX] Make Inits FoldableDavid Greene2011-07-111-1/+12
| | | | | | | | | | | | | | | | | | Manage Inits in a FoldingSet. This provides several benefits: - Memory for Inits is properly managed - Duplicate Inits are folded into Flyweights, saving memory - It enforces const-correctness, protecting against certain classes of bugs The above benefits allow Inits to be used in more contexts, which in turn provides more dynamism to TableGen. This enhanced capability will be used by the AVX code generator to a fold common patterns together. llvm-svn: 134907
* TableGen'erated MC lowering for simple pseudo-instructions.Jim Grosbach2011-07-081-0/+7
| | | | | | | | | | | | This allows the (many) pseudo-instructions we have that map onto a single real instruction to have their expansion during MC lowering handled automatically instead of the current cumbersome manual expansion required. These sorts of pseudos are common when an instruction is used in situations that require different MachineInstr flags (isTerminator, isBranch, et. al.) than the generic instruction description has. For example, using a move to the PC to implement a branch. llvm-svn: 134704
* Merge XXXGenRegisterNames.inc into XXXGenRegisterInfo.incEvan Cheng2011-06-281-9/+5
| | | | llvm-svn: 134024
* Merge XXXGenRegisterDesc.inc XXXGenRegisterNames.inc XXXGenRegisterInfo.h.incEvan Cheng2011-06-271-17/+2
| | | | | | into XXXGenRegisterInfo.inc. llvm-svn: 133922
* Starting to refactor Target to separate out code that's needed to fully describeEvan Cheng2011-06-241-8/+12
| | | | | | | | | | | | target machine from those that are only needed by codegen. The goal is to sink the essential target description into MC layer so we can start building MC based tools without needing to link in the entire codegen. First step is to refactor TargetRegisterInfo. This patch added a base class MCRegisterInfo which TargetRegisterInfo is derived from. Changed TableGen to separate register description from the rest of the stuff. llvm-svn: 133782
* Consolidate some TableGen diagnostic helper functions.Jim Grosbach2011-06-211-11/+4
| | | | | | | TableGen had diagnostic printers sprinkled about in a few places. Pull them together into a single location in Error.cpp. llvm-svn: 133568
* Drop a RecordKeeper reference that wasn't necessary.Jakob Stoklund Olesen2011-06-041-1/+1
| | | | llvm-svn: 132636
* Teach TableGen to evaluate DAG expressions as set operations.Jakob Stoklund Olesen2011-06-041-1/+20
| | | | | | | | | | | | | | | | | A TableGen backend can define how certain classes can be expanded into ordered sets of defs, typically by evaluating a specific field in the record. The SetTheory class can then evaluate DAG expressions that refer to these named sets. A number of standard set and list operations are predefined, and the backend can add more specialized operators if needed. The -print-sets backend is used by SetTheory.td to provide examples. This is intended to simplify how register classes are defined: def GR32_NOSP : RegisterClass<"X86", [i32], 32, (sub GR32, ESP)>; llvm-svn: 132621
* Add new -d option to tblgen. It writes a make(1)-style dependency file.Joerg Sonnenberger2011-06-011-29/+43
| | | | llvm-svn: 132395
* ParseFile() may throw, so extend the try/catch to handle that.Jim Grosbach2011-05-061-11/+11
| | | | llvm-svn: 131004
* Initial work to improve documentation for Clang's diagnostics, from Matthieu ↵Douglas Gregor2011-04-151-1/+9
| | | | | | Monrocq llvm-svn: 129613
* Add the ClangSACheckersEmitter tablegen backend which will be used for the ↵Argyrios Kyrtzidis2011-02-141-0/+7
| | | | | | clang static analyzer. llvm-svn: 125493
* Fix comment for gen-clang-decl-nodes tblgen backend, from Michael HanDouglas Gregor2011-01-191-1/+1
| | | | llvm-svn: 123833
* MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> ↵Michael J. Spencer2010-12-161-3/+4
| | | | | | via an out parm. llvm-svn: 121958
* Add a Neon intrinsic test generator.Bob Wilson2010-12-151-0/+6
| | | | | | This is still a WIP. It's already good enough to expose a few bugs, though. llvm-svn: 121868
* various cleanups to tblgen, patch by Garrison Venn!Chris Lattner2010-12-151-1/+1
| | | | llvm-svn: 121837
* eliminate the Records global variable, patch by Garrison Venn!Chris Lattner2010-12-131-6/+6
| | | | llvm-svn: 121659
* Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with ↵Michael J. Spencer2010-12-091-3/+4
| | | | | | error_code &ec. And fix clients. llvm-svn: 121379
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* Add a way to emit StringSwitch of clang attribute spellings.Anders Carlsson2010-10-201-0/+6
| | | | llvm-svn: 116899
* Move tool_output_file into its own file.Dan Gohman2010-10-071-1/+1
| | | | llvm-svn: 115973
* Push twines deeper into SourceMgr's error handling methods.Benjamin Kramer2010-09-271-1/+1
| | | | llvm-svn: 114847
* Make tool_output_file's raw_ostream instance a member variable insteadDan Gohman2010-09-011-35/+35
| | | | | | | | | | of a base class. This makes it possible to unregister the file from FilesToRemove when the file is done. Also, this eliminates the need for formatted_tool_output_file. llvm-svn: 112706
* Convert tablegen to use tool_output_file.Dan Gohman2010-08-201-6/+3
| | | | llvm-svn: 111644
* Finish full attribute class emission for clang.Alexis Hunt2010-08-181-0/+18
| | | | | | For more information, see the accompanying clang patch. llvm-svn: 111454
* Revert r111007.Mikhail Glushenkov2010-08-131-3/+3
| | | | | | Apparently, this is now fixed in Clang. llvm-svn: 111032
* Add a workaround for building with Clang.Mikhail Glushenkov2010-08-131-3/+3
| | | | llvm-svn: 111007
OpenPOWER on IntegriCloud