summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/TableGen.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* remove option from tablegen for building static header.Chris Lattner2010-07-201-6/+1
| | | | llvm-svn: 108893
* Modify tablegen to support generating all NEON code used by clang at once.Nate Begeman2010-06-171-7/+7
| | | | llvm-svn: 106207
* Add preliminary clang attribute generation support.Alexis Hunt2010-06-161-0/+13
| | | | | | | The attribute class generation support is still somewhat limited. See the accompanying clang commit for more details. llvm-svn: 106174
* BuiltinsARM.def emitter, still needs a substantial bit of tweaking to ↵Nate Begeman2010-06-041-0/+6
| | | | | | lighten the load on clang. llvm-svn: 105456
* Allow for creation of clang DeclNodes tables.Alexis Hunt2010-05-301-1/+8
| | | | | | | | The StmtNodes generator has been generalized to allow for the creation of DeclNodes tables as well, and another emitter was added for DeclContexts. llvm-svn: 105164
* Fix build breakage.Eli Friedman2010-05-281-1/+1
| | | | llvm-svn: 104912
* Add support to tablegen for auto-generating arm_neon.h from a tablegen ↵Nate Begeman2010-05-281-0/+7
| | | | | | | | | | | description of the intrinsics. The goal is to auto-generate both support for GCC-style (vector) and ARM-style (struct of vector) intrinsics. This is work in progress, but will be completed soon. llvm-svn: 104910
* Simplify raw_ostream usage.Dan Gohman2010-05-271-45/+37
| | | | llvm-svn: 104874
* Add an emitter to handle the list of clang statement nodes.Alexis Hunt2010-05-051-10/+17
| | | | llvm-svn: 103071
* Second try of initial ARM/Thumb disassembler check-in. It consists of a tablgenJohnny Chen2010-04-021-0/+7
| | | | | | | | | | backend (ARMDecoderEmitter) which emits the decoder functions for ARM and Thumb, and the disassembler core which invokes the decoder function and builds up the MCInst based on the decoded Opcode. Reviewed by Chris Latter and Bob Wilson. llvm-svn: 100233
* Remove an unnecessary #include.Dan Gohman2010-03-271-1/+0
| | | | llvm-svn: 99714
* --- Reverse-merging r98637 into '.':Bob Wilson2010-03-161-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U test/CodeGen/ARM/tls2.ll U test/CodeGen/ARM/arm-negative-stride.ll U test/CodeGen/ARM/2009-10-30.ll U test/CodeGen/ARM/globals.ll U test/CodeGen/ARM/str_pre-2.ll U test/CodeGen/ARM/ldrd.ll U test/CodeGen/ARM/2009-10-27-double-align.ll U test/CodeGen/Thumb2/thumb2-strb.ll U test/CodeGen/Thumb2/ldr-str-imm12.ll U test/CodeGen/Thumb2/thumb2-strh.ll U test/CodeGen/Thumb2/thumb2-ldr.ll U test/CodeGen/Thumb2/thumb2-str_pre.ll U test/CodeGen/Thumb2/thumb2-str.ll U test/CodeGen/Thumb2/thumb2-ldrh.ll U utils/TableGen/TableGen.cpp U utils/TableGen/DisassemblerEmitter.cpp D utils/TableGen/RISCDisassemblerEmitter.h D utils/TableGen/RISCDisassemblerEmitter.cpp U Makefile.rules U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/Makefile U lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMInstPrinter.h D lib/Target/ARM/Disassembler U lib/Target/ARM/ARMInstrFormats.td U lib/Target/ARM/ARMAddressingModes.h U lib/Target/ARM/Thumb2ITBlockPass.cpp llvm-svn: 98640
* Initial ARM/Thumb disassembler check-in. It consists of a tablgen backendJohnny Chen2010-03-161-0/+8
| | | | | | | | | | | | | | | | | | (RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb, and the disassembler core which invokes the decoder function and builds up the MCInst based on the decoded Opcode. Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm instructions to help disassembly. We also changed the output of the addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60. And modified test cases to not expect '+' in +reg or #+num. For example, ; CHECK: ldr.w r9, [r7, #28] llvm-svn: 98637
* Added a custom TableGen backend to support theSean Callanan2010-01-291-0/+12
| | | | | | | enhanced disassembler, and the necessary makefile rules to build the table for X86. llvm-svn: 94764
* Sketch TableGen disassembler emitter, based on patch by Sean Callanan.Daniel Dunbar2009-11-251-0/+7
| | | | llvm-svn: 89833
* TableGen: Add initial backend for clang Driver's option parsing.Daniel Dunbar2009-11-181-10/+22
| | | | llvm-svn: 89245
* Make LLVM command-line tools overwrite their output files without -f.Dan Gohman2009-08-251-2/+1
| | | | | | | | | | | | | | | | This is conventional command-line tool behavior. -f now just means "enable binary output on terminals". Add a -f option to llvm-extract and llvm-link, for consistency. Remove F_Force from raw_fd_ostream and enable overwriting and truncating by default. Introduce an F_Excl flag to permit users to enable a failure when the file already exists. This flag is currently unused. Update Makefiles and documentation accordingly. llvm-svn: 79990
* Change raw_fd_ostream to take flags as an optional bitmask Chris Lattner2009-08-231-2/+2
| | | | | | | | | | | | | | | | instead of as two bools. Use this to add a F_Append flag which has the obvious behavior. Other unrelated changes conflated into this patch: 1. REmove EH stuff from llvm-dis and llvm-as, the try blocks are dead. 2. Simplify the filename inference code in llvm-as/llvm-dis, because raw_fd_ostream does the right thing with '-'. 3. Switch machine verifier to use raw_ostream instead of ostream (Which is the thing that needed append in the first place). llvm-svn: 79807
* Add a Force option to raw_fd_ostream to specify whether openingDan Gohman2009-07-151-1/+2
| | | | | | | | an existing file is considered an error. Convert several tools to use raw_fd_ostream instead of std::ostream, and to use this new option instead of doing a manual check. llvm-svn: 75801
* Stub out assembly matcher (.s -> MCInst) tblgen backend.Daniel Dunbar2009-07-111-1/+7
| | | | llvm-svn: 75378
* Add a new little "FileCheck" utility for regression testing.Chris Lattner2009-07-081-7/+7
| | | | llvm-svn: 75022
* Replace std::iostreams with raw_ostream in TableGen.Daniel Dunbar2009-07-031-14/+15
| | | | | | | | - Sorry, I can't help myself. - No intended functionality change. llvm-svn: 74742
* Normalize SourceMgr messages.Daniel Dunbar2009-06-301-1/+1
| | | | | | | | | | | | - Don't print "Parsing" in front of every message. - Take additional "type" argument which is prepended to the message (with ": ") if given. - Update clients to print errors (warnings) as: <filename>:<line number>: error(warning): ... llvm-svn: 74489
* rename SourceMgr::PrintError to PrintMessage.Chris Lattner2009-06-211-1/+1
| | | | llvm-svn: 73861
* move include searching logic from TGLexer to SourceMgr.Chris Lattner2009-06-211-3/+3
| | | | llvm-svn: 73845
* Rename TGSourceMgr -> SourceMgr.Chris Lattner2009-06-211-2/+2
| | | | llvm-svn: 73844
OpenPOWER on IntegriCloud