summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/TableGen.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* rename TGLoc -> SMLoc.Chris Lattner2009-06-211-2/+2
| | | | llvm-svn: 73843
* rename -gen-clang-diags-options -> -gen-clang-diag-groupsChris Lattner2009-04-151-5/+5
| | | | llvm-svn: 69208
* Add another Clang TableGen-backend (-gen-clang-diags-options) for emittingTed Kremenek2009-03-181-0/+6
| | | | | | | | | | | | declarations for controlling groups of warnings. Currently this transforms: def UnusedMacrosDiags : Option<"unused-macros", [pp_macro_not_used]>; into: static const diag::kind UnusedMacrosDiags[] = { diag::pp_macro_not_used }; llvm-svn: 67239
* Add (hidden) TableGen command option '-clang-component' which specifies theTed Kremenek2009-03-131-1/+6
| | | | | | | | | component's warnings to process for '-gen-clang-diags-defs'. Also, when the component is specified, generate a '#if' prologue at the top of the generated .def file (to match the current files). llvm-svn: 66975
* Add initial implementation of a TableGen backend for converting Clang-warningsTed Kremenek2009-03-131-2/+7
| | | | | | | tablegen files to the original .def preprocessor include files. This is my first TableGen backend; I don't claim that it is awesome. llvm-svn: 66971
* add a new TGError class and use it to propagate location info withChris Lattner2009-03-131-19/+14
| | | | | | | | | | | | | | | | | | | | | errors when thrown. This gets us nice errors like this from tblgen: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: error: Included from X86.td:116: Parsing X86InstrInfo.td:922: In CMOVL32rr: X86cmov node requires exactly 4 operands! def CMOVL32rr : I<0x4C, MRMSrcReg, // if <s, GR32 = GR32 ^ instead of just: CMOVL32rr: (set GR32:i32:$dst, (X86cmov GR32:$src1, GR32:$src2)) /Users/sabre/llvm/Debug/bin/tblgen: In CMOVL32rr: X86cmov node requires exactly 4 operands! This is all I plan to do with this, but it should be easy enough to improve if anyone cares (e.g. keeping more loc info in "dag" expr records in tblgen. llvm-svn: 66898
* give each Record a location.Chris Lattner2009-03-131-1/+10
| | | | llvm-svn: 66897
* make "locations" a class instead of a typedef.Chris Lattner2009-03-131-2/+1
| | | | llvm-svn: 66895
* split buffer management and diagnostic printing out of the tblgenChris Lattner2009-03-131-4/+11
| | | | | | lexer into its own TGSourceMgr class. llvm-svn: 66873
* Change various llvm utilities to use PrettyStackTraceProgram inChris Lattner2009-03-061-0/+3
| | | | | | | their main routines. This makes the tools print their argc/argv commands if they crash. llvm-svn: 66248
* Reapply 63765. Patches for clang and llvm-gcc to follow.Dale Johannesen2009-02-051-0/+6
| | | | llvm-svn: 63812
* Reverting 63765. This broke the build of both clangDale Johannesen2009-02-041-6/+0
| | | | | | and llvm-gcc. llvm-svn: 63786
* New feature: add support for target intrinsics being defined in theNate Begeman2009-02-041-0/+6
| | | | | | | | | target directories themselves. This also means that VMCore no longer needs to know about every target's list of intrinsics. Future work will include converting the PowerPC target to this interface as an example implementation. llvm-svn: 63765
* Make tablegen print out a nice error message for a const char*Dan Gohman2008-11-071-0/+7
| | | | | | exception, like it does for a std::string exception. llvm-svn: 58865
* Initial checkin of the new "fast" instruction selection support. SeeDan Gohman2008-08-131-0/+7
| | | | | | | the comments in FastISelEmitter.cpp for details on what this is. This is currently experimental and unusable. llvm-svn: 54751
* Naming fix: LLVMCCConfigurationEmitter -> LLVMCConfigurationEmitter.Mikhail Glushenkov2008-05-061-5/+5
| | | | llvm-svn: 50754
* Rename LLVMCCConfigurationEmitter to LLVMCConfigurationEmitterMikhail Glushenkov2008-05-061-5/+5
| | | | llvm-svn: 50748
* Change the MemoryBuffer::getFile* methods to take just a pointer to theChris Lattner2008-04-011-2/+1
| | | | | | | | start of a filename, not a filename+length. All clients can produce a null terminated name, and the system api's require null terminated strings anyway. llvm-svn: 49041
* Add first proof-of-concept universal compiler driver framework basedAnton Korobeynikov2008-03-231-1/+8
| | | | | | | | | on ideas mentioned in PR686. Written by Mikhail Glushenkov and contributed by Codedgers, Inc. Old llvmc will be removed soon after new one will have all its properties. llvm-svn: 48699
* split enum emission out from InstrInfoEmitter into it's own tblgen backend.Chris Lattner2008-01-061-1/+2
| | | | llvm-svn: 45640
* remove attributions from utils.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45419
* Rewrite the tblgen parser in a recursive descent style, eliminating the ↵Chris Lattner2007-11-221-6/+27
| | | | | | | | | | | | bison parser. This makes the parser much easier to understand, eliminates a ton of global variables, and gives tblgen nice caret diagnostics. It is also faster, but tblgen probably doesn't care about performance. There are a couple of FIXMEs which I will take care of next. llvm-svn: 44274
* reapplyChris Lattner2007-02-271-1/+7
| | | | llvm-svn: 34697
OpenPOWER on IntegriCloud