Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Support for half intrinsics. Pushes MMX into slower encoding path. | Michael Ilseman | 2013-01-11 | 1 | -18/+20 | |
| | | | | llvm-svn: 172159 | |||||
* | Change 'AttrVal' to 'AttrKind' to better reflect that it's a kind of ↵ | Bill Wendling | 2012-12-22 | 1 | -1/+1 | |
| | | | | | | attribute instead of the value of the attribute. llvm-svn: 170972 | |||||
* | Rename the 'Attributes' class to 'Attribute'. It's going to represent a ↵ | Bill Wendling | 2012-12-19 | 1 | -6/+6 | |
| | | | | | | single attribute in the future. llvm-svn: 170502 | |||||
* | s/AttrListPtr/AttributeSet/g to better label what this class is going to be ↵ | Bill Wendling | 2012-12-07 | 1 | -5/+5 | |
| | | | | | | in the near future. llvm-svn: 169651 | |||||
* | Make the AttrListPtr object a part of the LLVMContext. | Bill Wendling | 2012-11-20 | 1 | -1/+1 | |
| | | | | | | | | | When code deletes the context, the AttributeImpls that the AttrListPtr points to are now invalid. Therefore, instead of keeping a separate managed static for the AttrListPtrs that's reference counted, move it into the LLVMContext and delete it when deleting the AttributeImpls. llvm-svn: 168354 | |||||
* | Remove exception handling usage from tblgen. | Joerg Sonnenberger | 2012-10-25 | 1 | -5/+6 | |
| | | | | | | | | | | | 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 | |||||
* | Add an enum for the return and function indexes into the AttrListPtr object. ↵ | Bill Wendling | 2012-10-15 | 1 | -2/+2 | |
| | | | | | | This gets rid of some magic numbers. llvm-svn: 165924 | |||||
* | Attributes Rewrite | Bill Wendling | 2012-10-15 | 1 | -4/+4 | |
| | | | | | | | | | | Convert the internal representation of the Attributes class into a pointer to an opaque object that's uniqued by and stored in the LLVMContext object. The Attributes class then becomes a thin wrapper around this opaque object. Eventually, the internal representation will be expanded to include attributes that represent code generation options, etc. llvm-svn: 165917 | |||||
* | Pass into the AttributeWithIndex::get method an ArrayRef of attribute | Bill Wendling | 2012-10-10 | 1 | -35/+27 | |
| | | | | | | enums. These are then created via the correct Attributes creation method. llvm-svn: 165607 | |||||
* | Write llvm-tblgen backends as functions instead of sub-classes. | Jakob Stoklund Olesen | 2012-06-11 | 1 | -45/+91 | |
| | | | | | | | | | The TableGenBackend base class doesn't do much, and will be removed completely soon. Patch by Sean Silva! llvm-svn: 158311 | |||||
* | switch AttrListPtr::get to take an ArrayRef, simplifying a lot of clients. | Chris Lattner | 2012-05-28 | 1 | -1/+2 | |
| | | | | llvm-svn: 157556 | |||||
* | rdar://11542750 - llvm.trap should be marked no return. | Chris Lattner | 2012-05-27 | 1 | -4/+21 | |
| | | | | llvm-svn: 157551 | |||||
* | Reimplement the intrinsic verifier to use the same table as ↵ | Chris Lattner | 2012-05-27 | 1 | -137/+0 | |
| | | | | | | | | | | | | | Intrinsic::getDefinition, making it stronger and more sane. Delete the code from tblgen that produced the old code. Besides being a path forward in intrinsic sanity, this also eliminates a bunch of machine generated code that was compiled into Function.o llvm-svn: 157545 | |||||
* | move some code around so that Verifier.cpp can get access to the intrinsic ↵ | Chris Lattner | 2012-05-27 | 1 | -33/+4 | |
| | | | | | | info table. llvm-svn: 157540 | |||||
* | enhance the intrinsic info table to encode what *kind* of Any argument | Chris Lattner | 2012-05-27 | 1 | -12/+20 | |
| | | | | | | | it is (at the cost of 45 bytes of extra table space) so that the verifier can start using it. llvm-svn: 157536 | |||||
* | rearrange some code, no functionality change. | Chris Lattner | 2012-05-26 | 1 | -20/+24 | |
| | | | | llvm-svn: 157523 | |||||
* | Fixed typo in r156905. | Patrik Hägglund | 2012-05-23 | 1 | -2/+2 | |
| | | | | llvm-svn: 157320 | |||||
* | small refinement to r157218 to save a tiny amount of table size in the common | Chris Lattner | 2012-05-23 | 1 | -4/+10 | |
| | | | | | | case. llvm-svn: 157312 | |||||
* | Added address space qualifier to intrinsic PointerType arguments. | Pete Cooper | 2012-05-21 | 1 | -0/+6 | |
| | | | | llvm-svn: 157218 | |||||
* | enhance the intrinsic info stuff to emit encodings that don't fit in 32-bits ↵ | Chris Lattner | 2012-05-17 | 1 | -164/+73 | |
| | | | | | | | | | into a separate side table, using the handy SequenceToOffsetTable class. This encodes all these weird things into another 256 bytes, allowing all intrinsics to be encoded this way. llvm-svn: 156995 | |||||
* | finish encoding all of the interesting details of intrinsics. Now intrinsics | Chris Lattner | 2012-05-17 | 1 | -45/+45 | |
| | | | | | | | are only rejected because they can't be encoded into a 32-bit unit, not because they contain an unencodable feature. llvm-svn: 156978 | |||||
* | strengthen the intrinsic descriptor stuff to be able to handle sin, cos and ↵ | Chris Lattner | 2012-05-17 | 1 | -54/+63 | |
| | | | | | | | | other intrinsics that use passed-in arguments. llvm-svn: 156977 | |||||
* | simplify code generated by tblgen that is not necessary since we dropped | Chris Lattner | 2012-05-17 | 1 | -20/+4 | |
| | | | | | | compatibility with LLVM 2.x bitcode files. llvm-svn: 156976 | |||||
* | I forgot the #ifdef _MSC_VER guard in my last commit. | Francois Pichet | 2012-05-17 | 1 | -0/+5 | |
| | | | | llvm-svn: 156975 | |||||
* | Fix the MSVC 2010 build: disable the optimizer for a problematic function. | Francois Pichet | 2012-05-17 | 1 | -0/+2 | |
| | | | | llvm-svn: 156973 | |||||
* | Significantly reduce the compiled size of Functions.cpp by turning a big ↵ | Chris Lattner | 2012-05-16 | 1 | -117/+307 | |
| | | | | | | | | | | blob of tblgen generated code (for Intrinsic::getType) into a table. This handles common cases right now, but I plan to extend it to handle all cases and merge in type verification logic as well in follow-on patches. llvm-svn: 156905 | |||||
* | have tblgen emit cast<> instead of dyn_cast<> when we know it must succeed. | Chris Lattner | 2012-05-16 | 1 | -2/+2 | |
| | | | | llvm-svn: 156902 | |||||
* | Move llvm-tblgen's StringMatcher into the TableGen library so it can | Douglas Gregor | 2012-05-02 | 1 | -1/+1 | |
| | | | | | | be used by clang-tblgen. llvm-svn: 156000 | |||||
* | Fix target specific intrinsic handling to adjust intrinsic number before ↵ | Craig Topper | 2012-04-13 | 1 | -9/+15 | |
| | | | | | | doing attribute table lookup. Also fix attribute table lookup to handle 'invalid' intrinsic correctly. Fixes PR12542 llvm-svn: 154658 | |||||
* | TableGen: Don't emit the llvm intrinsic -> gcc builtin table, its only user ↵ | Benjamin Kramer | 2012-03-26 | 1 | -19/+0 | |
| | | | | | | was the c backend. llvm-svn: 153432 | |||||
* | Emit the "is an intrinsic overloaded" table as a bitfield. | Benjamin Kramer | 2012-03-01 | 1 | -7/+10 | |
| | | | | llvm-svn: 151792 | |||||
* | Emit the intrinsic modref info as a lookup table instead of a huge switch. | Benjamin Kramer | 2012-03-01 | 1 | -16/+18 | |
| | | | | | | Shrinks BasicAliasAnalysis.o from 106k to 56k on i386. llvm-svn: 151781 | |||||
* | Convert generated intrinsic attributes to use an array lookup as Chris ↵ | Craig Topper | 2012-02-28 | 1 | -18/+26 | |
| | | | | | | suggested in PR11951. llvm-svn: 151622 | |||||
* | Convert assert(0) to llvm_unreachable | Craig Topper | 2012-02-05 | 1 | -4/+3 | |
| | | | | llvm-svn: 149814 | |||||
* | Add basic generic CodeGen support for half. | Dan Gohman | 2011-12-20 | 1 | -0/+2 | |
| | | | | llvm-svn: 146927 | |||||
* | Move TableGen's parser and entry point into a library | Peter Collingbourne | 2011-10-01 | 1 | -1/+1 | |
| | | | | | | This is the first step towards splitting LLVM and Clang's tblgen executables. llvm-svn: 140951 | |||||
* | Change Intrinsic::getDeclaration and friends to take an ArrayRef. | Benjamin Kramer | 2011-07-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 135154 | |||||
* | fix the varargs version of StructType::get to not require an LLVMContext, ↵ | Chris Lattner | 2011-06-18 | 1 | -1/+1 | |
| | | | | | | | | making usage much cleaner. llvm-svn: 133364 | |||||
* | Change how tblgen generates attributes for intrinsics to use a single | John McCall | 2011-05-28 | 1 | -59/+111 | |
| | | | | | | | | | switch. With this newfound organization, teach tblgen how not to give all intrinsics the 'nounwind' attribute. Introduce a new intrinsic, llvm.eh.resume, which does not have this attribute. Documentation and uses to follow. llvm-svn: 132252 | |||||
* | Rename AccessesArguments and AccessesArgumentsReadonly, and rewrite | Dan Gohman | 2010-11-10 | 1 | -2/+2 | |
| | | | | | | their comments. llvm-svn: 118696 | |||||
* | Translate IntrReadArgMem to AccessesArgumentsReadonly. | Dan Gohman | 2010-11-09 | 1 | -0/+2 | |
| | | | | llvm-svn: 118622 | |||||
* | Get rid of pop_macro warnings on MSVC. | Michael J. Spencer | 2010-09-24 | 1 | -2/+5 | |
| | | | | llvm-svn: 114750 | |||||
* | CBackend: Fix MSVC build. | Michael J. Spencer | 2010-09-14 | 1 | -4/+4 | |
| | | | | | | This may produce warnings on MSVS, but it's better than failures. llvm-svn: 113834 | |||||
* | Add x86mmx to TableGen. | Dale Johannesen | 2010-09-11 | 1 | -0/+2 | |
| | | | | llvm-svn: 113671 | |||||
* | emit the LLVM intrinsic name -> intrinsic number mapping table with | Chris Lattner | 2010-09-06 | 1 | -25/+34 | |
| | | | | | | StringMatcher instead of a linear sequence of memcmps. llvm-svn: 113145 | |||||
* | emit the __builtin -> intrinsic map with StringMatcher instead of a | Chris Lattner | 2010-09-06 | 1 | -108/+18 | |
| | | | | | | copy of a close relative of it. llvm-svn: 113142 | |||||
* | slightly improve the runtime and code size of the Intrinsics info table by not | Chris Lattner | 2010-09-06 | 1 | -13/+15 | |
| | | | | | | comparing the "llvm." prefix in the memcmp, and not storing it in the string literal. llvm-svn: 113136 | |||||
* | Remove IntrWriteMem, as it's the default. Rename IntrWriteArgMem | Dan Gohman | 2010-08-05 | 1 | -2/+2 | |
| | | | | | | to IntrReadWriteArgMem, as it's for reading as well as writing. llvm-svn: 110395 | |||||
* | Fixes for Microsoft Visual Studio 2010, from Steven Watanabe! | Douglas Gregor | 2010-05-11 | 1 | -0/+19 | |
| | | | | llvm-svn: 103457 | |||||
* | Change intrinsic result type for void to store it as an empty list | Chris Lattner | 2010-03-22 | 1 | -6/+7 | |
| | | | | | | | instead of as a single element list with VoidTy. Now with a fix for the verifier. llvm-svn: 99206 |