summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Attributes.cpp
Commit message (Collapse)AuthorAgeFilesLines
* s/AttrListPtr/AttributeSet/g to better label what this class is going to be ↵Bill Wendling2012-12-071-16/+16
| | | | | | in the near future. llvm-svn: 169651
* Use the new script to sort the includes of every file under lib.Chandler Carruth2012-12-031-3/+3
| | | | | | | | | | | | | | | | | Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] llvm-svn: 169131
* Make the AttrListPtr object a part of the LLVMContext.Bill Wendling2012-11-201-82/+14
| | | | | | | | | 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
* Promote the constant 1 to long long, 1LL or 1ULL in int64_t-sensitive context.NAKAMURA Takumi2012-11-191-2/+2
| | | | llvm-svn: 168304
* Change ForceSizeOpt attribute into MinSize attributeQuentin Colombet2012-10-301-3/+3
| | | | llvm-svn: 167020
* Add the "ForceSizeOpt" attribute.Nadav Rotem2012-10-221-2/+5
| | | | | | | | | | | | Patch by Quentin Colombet <qcolombet@apple.com> Original description: """ The attached patch is the first step to have a better control on Oz related optimizations. The Oz optimization level focuses on code size, thus I propose to add an attribute called ForceSizeOpt. """ llvm-svn: 166422
* Cleanup whitespace.Bill Wendling2012-10-161-1/+2
| | | | llvm-svn: 166016
* Cleanup whitespace.Bill Wendling2012-10-161-37/+35
| | | | llvm-svn: 166013
* Have AttributesImpl defriend the Attributes class.Bill Wendling2012-10-161-1/+1
| | | | llvm-svn: 166012
* Have AttrBuilder defriend the Attributes class.Bill Wendling2012-10-161-3/+3
| | | | llvm-svn: 166011
* Put simple c'tors inline.Bill Wendling2012-10-161-6/+1
| | | | llvm-svn: 166008
* Move the Attributes::Builder outside of the Attributes class and into its ↵Bill Wendling2012-10-151-25/+63
| | | | | | own class named AttrBuilder. No functionality change. llvm-svn: 165960
* Use a ::get method to create the attribute from Attributes::AttrVals instead ↵Bill Wendling2012-10-151-8/+7
| | | | | | of a constructor. llvm-svn: 165923
* Move the AttributesImpl header file into the VMCore directory so that it can ↵Bill Wendling2012-10-151-0/+5
| | | | | | be opaque. llvm-svn: 165920
* Attributes RewriteBill Wendling2012-10-151-19/+16
| | | | | | | | | | 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
* Remove dead methods.Bill Wendling2012-10-141-8/+0
| | | | llvm-svn: 165902
* Remove operator cast method in favor of querying with the correct method.Bill Wendling2012-10-141-2/+2
| | | | llvm-svn: 165899
* Don't use the new syntax just yet.Bill Wendling2012-10-141-2/+2
| | | | llvm-svn: 165897
* Remove the bitwise AND operators from the Attributes class. Replace it with ↵Bill Wendling2012-10-141-8/+0
| | | | | | the equivalent from the builder class. llvm-svn: 165896
* Remove the bitwise assignment OR operator from the Attributes class. Replace ↵Bill Wendling2012-10-141-6/+5
| | | | | | it with the equivalent from the builder class. llvm-svn: 165895
* Remove the bitwise OR operator from the Attributes class. Replace it with ↵Bill Wendling2012-10-141-7/+9
| | | | | | the equivalent from the builder class. llvm-svn: 165894
* Remove the bitwise XOR operator from the Attributes class. Replace it with ↵Bill Wendling2012-10-141-3/+0
| | | | | | the equivalent from the builder class. llvm-svn: 165893
* Remove the bitwise NOT operator from the Attributes class. Replace it with ↵Bill Wendling2012-10-141-8/+10
| | | | | | the equivalent from the builder class. llvm-svn: 165892
* Decode the LLVM attributes from bitcode using the attributes builder.Bill Wendling2012-10-141-0/+5
| | | | llvm-svn: 165891
* Use builder to create alignment attributes. Remove dead function.Bill Wendling2012-10-141-4/+6
| | | | llvm-svn: 165890
* Add the LLVM context to this c'tor. It will be needed in the future.Bill Wendling2012-10-111-1/+1
| | | | llvm-svn: 165687
* Support a common idiom on how to build an Attributes class with a single ↵Bill Wendling2012-10-111-0/+3
| | | | | | attribute. llvm-svn: 165686
* Cleanup. Get rid of now dead code.Bill Wendling2012-10-101-2/+0
| | | | llvm-svn: 165613
* Remove the final bits of Attributes being declared in the AttributeBill Wendling2012-10-101-3/+14
| | | | | | | namespace. Use the attribute's enum value instead. No functionality change intended. llvm-svn: 165610
* Revert r165547 to fix build.Bill Wendling2012-10-091-4/+10
| | | | llvm-svn: 165548
* Use a single location for calculating the alignments.Bill Wendling2012-10-091-10/+4
| | | | llvm-svn: 165547
* Use appropriate method calls to get the alignment value.Bill Wendling2012-10-091-4/+5
| | | | llvm-svn: 165541
* Move the 'FunctionOnly' attributes thingy inside of the Attributes class.Bill Wendling2012-10-091-13/+15
| | | | llvm-svn: 165530
* Use the enum value of the attributes when removing them from the attributes ↵Bill Wendling2012-10-091-83/+0
| | | | | | builder. llvm-svn: 165495
* Use the enum value of the attributes when adding them to the attributes builder.Bill Wendling2012-10-091-86/+18
| | | | llvm-svn: 165494
* Create enums for the different attributes.Bill Wendling2012-10-091-111/+69
| | | | | | | We use the enums to query whether an Attributes object has that attribute. The opaque layer is responsible for knowing where that specific attribute is stored. llvm-svn: 165488
* Convert to using the Attributes::Builder interface.Bill Wendling2012-10-091-0/+16
| | | | llvm-svn: 165465
* Use the Attributes::Builder to build the attributes in the parser.Bill Wendling2012-10-081-0/+22
| | | | llvm-svn: 165458
* Convert the LLVM parser over to using the new Attributes::Builder to build itsBill Wendling2012-10-081-0/+6
| | | | | | attributes objects. llvm-svn: 165436
* Begin the transition to using the AttributesImpl object for the Attributes ivar.Bill Wendling2012-10-081-63/+170
| | | | | | | | | | | Start using the AttributesImpl object to hold the value of the attributes. All queries go through the interfaces now. This has one unfortunate consequence. I needed to move the AttributesImpl.h file into include/llvm. But this is only temporary! Otherwise, the changes needed to support this would be too large. llvm-svn: 165433
* Move more methods out-of-line. This is in preparation for changing the internalBill Wendling2012-10-071-0/+28
| | | | | | contents of the Attributes class over to an AttributesImpl. llvm-svn: 165373
* Move methods out-of-line.Bill Wendling2012-10-051-13/+210
| | | | | | | | | The internal representation of the Attributes class will be opaque. All of the query methods will need to query the opaque class. Therefore, these methods need to be out-of-line. No functionality change intended. llvm-svn: 165305
* Initial commit for the AttributesImpl class.Bill Wendling2012-09-261-0/+32
| | | | | | | | This opaque class will contain all of the attributes. All attribute queries will go through this object. This object will also be uniqued in the LLVMContext. Currently not used, so no implementation change. llvm-svn: 164722
* Move Attribute::typeIncompatible inside of the Attributes class.Bill Wendling2012-09-251-4/+5
| | | | llvm-svn: 164629
* Make the 'get*AlignmentFromAttr' functions into member functions within the ↵Bill Wendling2012-09-211-7/+8
| | | | | | Attributes class. Now with fix. llvm-svn: 164370
* Revert r164308 to fix buildbots.Bill Wendling2012-09-201-8/+7
| | | | llvm-svn: 164309
* Make the 'get*AlignmentFromAttr' functions into member functions within the ↵Bill Wendling2012-09-201-7/+8
| | | | | | Attributes class. llvm-svn: 164308
* Remove more bare uses of the different Attribute enums.Bill Wendling2012-09-201-6/+6
| | | | llvm-svn: 164307
* Make the 'getAsString' function a method of the Attributes class.Bill Wendling2012-09-201-30/+30
| | | | llvm-svn: 164305
* Convert some attribute existence queries over to use the predicate methods.Bill Wendling2012-09-191-25/+25
| | | | llvm-svn: 164268
OpenPOWER on IntegriCloud