summaryrefslogtreecommitdiffstats
path: root/llvm/utils/TableGen/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
...
* Build system infrastructure for multiple tblgens.Peter Collingbourne2011-10-061-15/+1
| | | | llvm-svn: 141266
* Move TableGen's parser and entry point into a libraryPeter Collingbourne2011-10-011-7/+1
| | | | | | 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-1/+0
| | | | llvm-svn: 140121
* Fix Clang attribute reader tblgen output for a corresponding fix on the ↵Douglas Gregor2011-07-281-0/+3
| | | | | | Clang side llvm-svn: 136390
* TableGen'erated MC lowering for simple pseudo-instructions.Jim Grosbach2011-07-081-0/+1
| | | | | | | | | | | | 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
* Unbreak the CMake buildFrancois Pichet2011-06-211-0/+1
| | | | llvm-svn: 133574
* Move TableGen's register bank classes to their own source file.Jakob Stoklund Olesen2011-06-091-0/+1
| | | | | | | | | | | I'll be moving some more code there to gather all of the register-specific stuff in one place. Currently it is shared between CodeGenTarget and RegisterInfoEmitter. The plan is that CodeGenRegisters can compute the full register bank structure while RegisterInfoEmitter only will handle the printing part. llvm-svn: 132788
* Teach TableGen to evaluate DAG expressions as set operations.Jakob Stoklund Olesen2011-06-041-0/+1
| | | | | | | | | | | | | | | | | 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
* Put targets on folders, if the IDE supports the feature.Oscar Fuentes2011-02-201-1/+1
| | | | | | Requires CMake 2.8.3 or newer. llvm-svn: 126092
* CMake: updated list of tblgen source files.Oscar Fuentes2011-02-181-0/+1
| | | | llvm-svn: 125969
* Add the ClangSACheckersEmitter tablegen backend which will be used for the ↵Argyrios Kyrtzidis2011-02-141-0/+1
| | | | | | clang static analyzer. llvm-svn: 125493
* Changes for building Clang and others using LLVM as an externalOscar Fuentes2011-02-031-0/+4
| | | | | | | | | | | | | library. Installs tblgen (required by Clang). Translates handling of user settings and platform-dependant options to its own file, where it can included by another project. Installs the .cmake files required by projects like Clang. llvm-svn: 124816
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120298
* Build with RTTI and exceptions disabled. Only in GCC for now.Oscar Fuentes2010-10-171-0/+3
| | | | llvm-svn: 116682
* update cmakeChris Lattner2010-09-061-0/+1
| | | | llvm-svn: 113139
* Don't link against libm and libpthread which don't exist in BeOS/Haiku. Also,Nick Lewycky2010-06-231-1/+1
| | | | | | Haiku like Linux provides <regex.h>, so use it. Patch by Paul Davey! llvm-svn: 106620
* Fix the typo in my previous one-line commit.Alexis Hunt2010-06-171-1/+1
| | | | llvm-svn: 106179
* Make sure CMake can build the files added by my previous commit.Alexis Hunt2010-06-161-0/+1
| | | | llvm-svn: 106178
* Add support to tablegen for auto-generating arm_neon.h from a tablegen ↵Nate Begeman2010-05-281-0/+1
| | | | | | | | | | | 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
* Add an emitter to handle the list of clang statement nodes.Alexis Hunt2010-05-051-0/+1
| | | | llvm-svn: 103071
* Add the new ARMDecodeEmitter to CMake build.Chandler Carruth2010-04-031-0/+1
| | | | llvm-svn: 100267
* The new isel passes all tests, time to start making it go fast.Chris Lattner2010-02-241-0/+1
| | | | | | | Also add an easy macro at the top of DAGISelEmitter.cpp to enable it. Lets see if I can avoid accidentally turning it on :) llvm-svn: 97029
* Check in the first big step of rewriting DAGISelEmitter to Chris Lattner2010-02-151-0/+3
| | | | | | | | | | | | | | | | | | | produce a table based matcher instead of gobs of C++ Code. Though it's not done yet, the shrinkage seems promising, the table for the X86 ISel is 75K and still has a lot of optimization to come (compare to the ~1.5M of .o generated the old way, much of which will go away). The code is currently disabled by default (the #if 0 in DAGISelEmitter.cpp). When enabled it generates a dead SelectCode2 function in the DAGISel Header which will eventually replace SelectCode. There is still a lot of stuff left to do, which are documented with a trail of FIXMEs. llvm-svn: 96215
* Added AsmWriterInst.cpp to the CMakeList so thatSean Callanan2010-02-091-0/+1
| | | | | | it builds OK on Visual Studio. llvm-svn: 95702
* Update CMake build.Ted Kremenek2010-01-291-0/+1
| | | | llvm-svn: 94776
* Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit Sean Callanan2009-12-191-0/+2
| | | | | | | | | | | | | | | | | | | | incarnations), integrated into the MC framework. The disassembler is table-driven, using a custom TableGen backend to generate hierarchical tables optimized for fast decode. The disassembler consumes MemoryObjects and produces arrays of MCInsts, adhering to the abstract base class MCDisassembler (llvm/MC/MCDisassembler.h). The disassembler is documented in detail in - lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime) - utils/TableGen/DisassemblerEmitter.cpp (table emitter) You can test the disassembler by running llvm-mc -disassemble for i386 or x86_64 targets. Please let me know if you encounter any problems with it. llvm-svn: 91749
* Sketch TableGen disassembler emitter, based on patch by Sean Callanan.Daniel Dunbar2009-11-251-0/+1
| | | | llvm-svn: 89833
* De-bork CMake buildDouglas Gregor2009-11-181-0/+1
| | | | llvm-svn: 89272
* Update CMakeLists.txtDaniel Dunbar2009-07-111-0/+1
| | | | llvm-svn: 75389
* Rename TGSourceMgr -> SourceMgr.Chris Lattner2009-06-211-1/+0
| | | | llvm-svn: 73844
* CMake: Use libpthread in tblgen when needed. Updated list of sourceOscar Fuentes2009-05-221-0/+3
| | | | | | files for PIC16 target. llvm-svn: 72277
* Add TGSourceMgr.cpp to CMake build, sort linesDouglas Gregor2009-03-161-2/+3
| | | | llvm-svn: 67042
* Add initial implementation of a TableGen backend for converting Clang-warningsTed Kremenek2009-03-131-0/+1
| | | | | | | 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
* Change how extended types are represented in MVTs. Instead of fiddlingDan Gohman2008-11-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | bits, use a union of a SimpleValueType enum and a regular Type*. This increases the size of MVT on 64-bit hosts from 32 bits to 64 bits. In most cases, this doesn't add significant overhead. There are places in codegen that use arrays of MVTs, so these are now larger, but they're small in common cases. This eliminates restrictions on the size of integer types and vector types that can be represented in codegen. As the included testcase demonstrates, it's now possible to codegen very large add operations. There are still some complications with using very large types. PR2880 is still open so they can't be used as return values on normal targets, there are no libcalls defined for very large integers so operations like multiply and divide aren't supported. This also introduces a minimal tablgen Type library, capable of handling IntegerType and VectorType. This will allow parts of TableGen that don't depend on using SimpleValueType values to handle arbitrary integer and vector types. llvm-svn: 58623
* Initial support for the CMake build system.Oscar Fuentes2008-09-221-0/+26
llvm-svn: 56419
OpenPOWER on IntegriCloud