summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR
Commit message (Collapse)AuthorAgeFilesLines
...
* Privitize some the copy c'tor and assignment operator of uniquified objects.Bill Wendling2013-01-271-0/+8
| | | | llvm-svn: 173632
* Add some helpful comments.Bill Wendling2013-01-271-6/+15
| | | | llvm-svn: 173631
* s/AttrList/pImpl/g in AttributeSet. No functionality change.Bill Wendling2013-01-271-23/+23
| | | | llvm-svn: 173628
* Start using more of the AttrNode in the AttributeSetImpl class.Bill Wendling2013-01-272-10/+11
| | | | | | Also add some asserts. llvm-svn: 173627
* In the AttributeSetImpl c'tor, fill in the AttrNodes data structure with the ↵Bill Wendling2013-01-272-8/+42
| | | | | | attributes being passed in. llvm-svn: 173618
* Fix miscompile. Add back the use of the ArrayRef version of the ::get method.Bill Wendling2013-01-271-2/+5
| | | | llvm-svn: 173613
* Remove dead methods.Bill Wendling2013-01-271-16/+2
| | | | llvm-svn: 173611
* Convert BuildLibCalls.cpp to using the AttributeSet methods instead of ↵Bill Wendling2013-01-261-2/+8
| | | | | | AttributeWithIndex. llvm-svn: 173536
* Remove dead method.Bill Wendling2013-01-251-8/+0
| | | | llvm-svn: 173524
* Remove some introspection functions.Bill Wendling2013-01-253-59/+89
| | | | | | | | The 'getSlot' function and its ilk allow introspection into the AttributeSet class. However, that class should be opaque. Allow access through accessor methods instead. llvm-svn: 173522
* Use the new 'getSlotIndex' method to retrieve the attribute's slot index.Bill Wendling2013-01-251-2/+2
| | | | llvm-svn: 173499
* Add an accessor method to get the slot's index. This will limit the use of ↵Bill Wendling2013-01-253-12/+22
| | | | | | AttributeWithIndex. llvm-svn: 173495
* Fix MSVC 2012 warning about a 32-bit shift that should be 64-bitReid Kleckner2013-01-251-2/+2
| | | | llvm-svn: 173454
* Use the AttributeSet query instead of the Attribute query.Bill Wendling2013-01-251-2/+2
| | | | llvm-svn: 173434
* Add a profile for uniquifying the AttributeSet with the AttributeSetNodes.Bill Wendling2013-01-242-6/+14
| | | | llvm-svn: 173313
* Cleanup the AttributeSetNodes that we create.Bill Wendling2013-01-241-0/+7
| | | | llvm-svn: 173311
* Create a new class: AttributeSetNode.Bill Wendling2013-01-243-1/+107
| | | | | | | | | | This is a helper class for the AttributeSetImpl class. It holds a set of attributes that apply to a single element: function, return type, or parameter. These are uniqued. llvm-svn: 173310
* Push down the conversion of the alignment from the bit mask to a real number ↵Bill Wendling2013-01-231-4/+6
| | | | | | into the attribute implementation class. llvm-svn: 173304
* Remove dead methods.Bill Wendling2013-01-232-23/+0
| | | | llvm-svn: 173302
* Add the IR attribute 'sspstrong'.Bill Wendling2013-01-231-0/+3
| | | | | | | | | | | | | | | | | | | | | SSPStrong applies a heuristic to insert stack protectors in these situations: * A Protector is required for functions which contain an array, regardless of type or length. * A Protector is required for functions which contain a structure/union which contains an array, regardless of type or length. Note, there is no limit to the depth of nesting. * A protector is required when the address of a local variable (i.e., stack based variable) is exposed. (E.g., such as through a local whose address is taken as part of the RHS of an assignment or a local whose address is taken as part of a function argument.) This patch implements the SSPString attribute to be equivalent to SSPRequired. This will change in a subsequent patch. llvm-svn: 173230
* Remove the last of uses that use the Attribute object as a collection of ↵Bill Wendling2013-01-233-17/+23
| | | | | | | | | attributes. Collections of attributes are handled via the AttributeSet class now. This finally frees us up to make significant changes to how attributes are structured. llvm-svn: 173228
* Use the AttributeSet when removing multiple attributes. Use Attribute::AttrKindBill Wendling2013-01-234-12/+33
| | | | | | when removing one attribute. This further encapsulates the use of the attributes. llvm-svn: 173214
* Use the AttributeSet when adding multiple attributes and an Attribute::AttrKindBill Wendling2013-01-231-7/+14
| | | | | | when adding a single attribute to the function. llvm-svn: 173210
* More encapsulation work.Bill Wendling2013-01-224-37/+36
| | | | | | | Use the AttributeSet when we're talking about more than one attribute. Add a function that adds a single attribute. No functionality change intended. llvm-svn: 173196
* Make APFloat constructor require explicit semantics.Tim Northover2013-01-222-5/+6
| | | | | | | | | Previously we tried to infer it from the bit width size, with an added IsIEEE argument for the PPC/IEEE 128-bit case, which had a default value. This default value allowed bugs to creep in, where it was inappropriate. llvm-svn: 173138
* Add a new method that adds the AttributeSet at the given index. No ↵Bill Wendling2013-01-221-8/+3
| | | | | | functional change. llvm-svn: 173109
* Add the attributes that are passed in instead of the ones we're merging into.Bill Wendling2013-01-221-2/+2
| | | | llvm-svn: 173108
* Use AttributeSet instead of Attribute to verify things.Bill Wendling2013-01-211-53/+52
| | | | llvm-svn: 173101
* Have AttributeSet::getRetAttributes() return an AttributeSet instead of ↵Bill Wendling2013-01-211-12/+23
| | | | | | | | | Attribute. This further restricts the use of the Attribute class to the Attribute family of classes. llvm-svn: 173098
* Make AttributeSet::getFnAttributes() return an AttributeSet instead of an ↵Bill Wendling2013-01-212-0/+22
| | | | | | | | | Attribute. This is more code to isolate the use of the Attribute class to that of just holding one attribute instead of a collection of attributes. llvm-svn: 173094
* Fix a latent bug exposed by recent static member debug info changes.David Blaikie2013-01-191-1/+2
| | | | | | | We weren't encoding boolean constants correctly due to modeling boolean as a signed type & then sign extending an i1 up to a byte & getting 255. llvm-svn: 172926
* If the attributes don't exist, just bail for now.Bill Wendling2013-01-181-1/+1
| | | | llvm-svn: 172854
* Use AttributeSet accessor methods instead of Attribute accessor methods.Bill Wendling2013-01-182-7/+11
| | | | | | | Further encapsulation of the Attribute object. Don't allow direct access to the Attribute object as an aggregate. llvm-svn: 172853
* Push some more methods down to hide the use of the Attribute class.Bill Wendling2013-01-182-31/+70
| | | | | | | | Because the Attribute class is going to stop representing a collection of attributes, limit the use of it as an aggregate in favor of using AttributeSet. This replaces some of the uses for querying the function attributes. llvm-svn: 172844
* [IR] Add 'Append' and 'AppendUnique' module flag behaviors.Daniel Dunbar2013-01-161-13/+33
| | | | llvm-svn: 172659
* Allow vectors in CreatePointerCast of constants.Evgeniy Stepanov2013-01-161-3/+4
| | | | llvm-svn: 172615
* Define metadata interfaces for describing a static data memberEric Christopher2013-01-162-3/+31
| | | | | | | | | | | of a class. Emit static data member declarations and definitions through correctly. Part of PR14471. Patch by Paul Robinson! llvm-svn: 172590
* [IR] Add verification for module flags with the "require" behavior.Daniel Dunbar2013-01-151-7/+35
| | | | llvm-svn: 172549
* Allow vectors in CreatePointerCast.Evgeniy Stepanov2013-01-151-3/+3
| | | | | | Both underlying IR operations support vectors of pointers already. llvm-svn: 172538
* [IR] Add verifier support for llvm.module.flags.Daniel Dunbar2013-01-151-0/+57
| | | | | | | - Also, update the LangRef documentation on module flags to match the implementation. llvm-svn: 172498
* Fix CastingDavid Greene2013-01-141-1/+1
| | | | | | Stop a gcc warning about casting away const. llvm-svn: 172465
* Support for half intrinsics. Pushes MMX into slower encoding path.Michael Ilseman2013-01-112-17/+23
| | | | llvm-svn: 172159
* CastInst::castIsValid should return true if the dest type is the same asEvan Cheng2013-01-101-0/+5
| | | | | | Value's current type. The casting is trivial even for aggregate type. llvm-svn: 172143
* Revert s/Raw/getBitMask/g name change. This is possibly causing LTO test ↵Bill Wendling2013-01-093-21/+24
| | | | | | hangings. llvm-svn: 172020
* Alter the hasing computation when inserting into the folding set.Bill Wendling2013-01-091-2/+1
| | | | llvm-svn: 171960
* Add comment to the definition of Constant::isZeroValue(). Shuxin Yang2013-01-091-0/+2
| | | | | | | | (There already has a concise comment to the declaration.) Thank Eric Christopher for his feedback! llvm-svn: 171926
* Forgot the namespace identifier.Bill Wendling2013-01-091-2/+2
| | | | llvm-svn: 171924
* Add the integer value of the ConstantInt instead of the Constant* value.Bill Wendling2013-01-092-6/+9
| | | | | | This is causing some problems. The root cause is unknown at this time. llvm-svn: 171923
* Consider expression "0.0 - X" as the negation of X ifShuxin Yang2013-01-092-3/+15
| | | | | | | - this expression is explicitly marked no-signed-zero, or - no-signed-zero of this expression can be derived from some context. llvm-svn: 171922
* Remove the llvm-local DW_TAG_vector_type tag and add a test toEric Christopher2013-01-082-5/+7
| | | | | | make sure that vector types do work. llvm-svn: 171833
OpenPOWER on IntegriCloud