summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* DataLayout should use itself when calculating the size of a vector.Hal Finkel2012-10-211-2/+4
| | | | | | | | This is important for vectors of pointers because only DataLayout, not the underlying vector type, knows how to calculate the size of the pointers in the vector. Fixes PR14138. llvm-svn: 166401
* Reapply the TargerTransformInfo changes, minus the changes to LSR and ↵Nadav Rotem2012-10-182-0/+28
| | | | | | Lowerinvoke. llvm-svn: 166248
* Temporarily revert the TargetTransform changes.Bob Wilson2012-10-182-28/+0
| | | | | | | | | | | The TargetTransform changes are breaking LTO bootstraps of clang. I am working with Nadav to figure out the problem, but I am reverting it for now to get our buildbots working. This reverts svn commits: 165665 165669 165670 165786 165787 165997 and I have also reverted clang svn 165741 llvm-svn: 166168
* Revert r166157 because some tests fail...Bill Wendling2012-10-171-3/+1
| | | | llvm-svn: 166159
* Check that the operand of the GEP is not the GEP itself. This occurred ↵Bill Wendling2012-10-171-1/+3
| | | | | | during an LTO build of LLVM. llvm-svn: 166157
* 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-162-3/+3
| | | | 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-153-35/+73
| | | | | | own class named AttrBuilder. No functionality change. llvm-svn: 165960
* Add an enum for the return and function indexes into the AttrListPtr object. ↵Bill Wendling2012-10-152-6/+8
| | | | | | This gets rid of some magic numbers. llvm-svn: 165924
* 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-153-1/+57
| | | | | | be opaque. llvm-svn: 165920
* Attributes RewriteBill Wendling2012-10-155-32/+43
| | | | | | | | | | 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
* Fix use after free when deleting attributes in a chained folding set.Benjamin Kramer2012-10-141-3/+5
| | | | | | Can't follow the intrusive linked list when the element is gone. llvm-svn: 165898
* 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-142-11/+4
| | | | | | the equivalent from the builder class. llvm-svn: 165896
* Remove the bitwise assignment OR operator from the Attributes class. Replace ↵Bill Wendling2012-10-144-12/+13
| | | | | | 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-144-13/+16
| | | | | | 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-142-9/+12
| | | | 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
* Add a new interface to allow IR-level passes to access codegen-specific ↵Nadav Rotem2012-10-102-0/+28
| | | | | | information. llvm-svn: 165665
* Revert r165652: "Remove unnecessary RTTI from the build."Sean Silva2012-10-102-0/+3
| | | | | | ... Apparently the RTTI is still necessary for some reason. llvm-svn: 165654
* Remove unnecessary RTTI from the build.Sean Silva2012-10-102-3/+0
| | | | llvm-svn: 165652
* 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
* Use the attribute enums to query if a function has an attribute.Bill Wendling2012-10-091-92/+6
| | | | llvm-svn: 165551
* Use the attribute enums to query if a parameter has an attribute.Bill Wendling2012-10-091-118/+6
| | | | llvm-svn: 165550
* 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
* Inline the checks for mutually exclusive attributes since they're used in ↵Bill Wendling2012-10-091-12/+56
| | | | | | only one module. llvm-svn: 165539
* Move the 'FunctionOnly' attributes thingy inside of the Attributes class.Bill Wendling2012-10-092-21/+25
| | | | llvm-svn: 165530
* Add in the first step of the multiple pointer support. This adds in support ↵Micah Villmow2012-10-091-25/+95
| | | | | | | | to the data layout for specifying a per address space pointer size. The next step is to update the optimizers to allow them to optimize the different address spaces with this information. llvm-svn: 165505
* Move the 'ParameterOnly' variable inside of the Attributes class and make it ↵Bill Wendling2012-10-091-15/+12
| | | | | | a method. llvm-svn: 165497
* Remove the now dead VarArgsIncompatible variable.Bill Wendling2012-10-091-3/+2
| | | | llvm-svn: 165496
* 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
* Fix PR14016.Alexey Samsonov2012-10-091-0/+10
| | | | | | | | | | DeadArgumentElimination pass can replace one LLVM function with another, invalidating a pointer stored in debug info metadata entry for this function. To fix this, we collect debug info descriptors for functions before running a DeadArgumentElimination pass and "patch" pointers in metadata nodes if we replace a function. llvm-svn: 165490
* Create enums for the different attributes.Bill Wendling2012-10-094-178/+143
| | | | | | | 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
* Remove some dead methods.Bill Wendling2012-10-091-16/+0
| | | | llvm-svn: 165485
* Remove more uses of the attribute enums by supplying appropriate query ↵Bill Wendling2012-10-091-0/+100
| | | | | | | | methods for them. No functionality change intended. llvm-svn: 165466
OpenPOWER on IntegriCloud