summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Rewrite the removeAttr() method.Bill Wendling2013-01-282-52/+40
| | | | | | | | | | This now uses the AttributeSet object instead of the Attribute / AttributeWithIndex objects. It's fairly simple now. It goes through all of the subsets before the one we're modifying, adds them to the new set. It then adds the modified subset (with the requested attributes removed). And then adds the rest of the subsets. llvm-svn: 173660
* Rewrite the addAttr() method.Bill Wendling2013-01-282-89/+91
| | | | | | | | | This now uses the AttributeSet object instead of the Attribute / AttributeWithIndex objects. It's fairly simple now. It goes through all of the subsets before the one we're modifying, adds them to the new set. It then adds the modified subset. And then adds the rest of the subsets. llvm-svn: 173659
* Revert r173646, "Use proper type for the index."NAKAMURA Takumi2013-01-282-15/+15
| | | | | | Unfortunately, msvc miscompiles it. Investigating. llvm-svn: 173656
* Refactored out pass ObjCARCAPElim from ObjCARCOpts.cpp => ObjCARCAPElim.cpp.Michael Gottesman2013-01-283-148/+183
| | | | llvm-svn: 173654
* Fixed case insensitive issue.Michael Gottesman2013-01-281-1/+1
| | | | llvm-svn: 173653
* Removed extraneous doxygen end module statement.Michael Gottesman2013-01-281-2/+0
| | | | llvm-svn: 173652
* Extracted pass ObjCARCExpand from ObjCARC.cpp => ObjCARCExpand.cpp.Michael Gottesman2013-01-285-299/+370
| | | | | | | I also added the local header ObjCARC.h for common functions used by the various passes. llvm-svn: 173651
* Improved svn repo searching for 'make update'Edwin Vane2013-01-281-4/+17
| | | | | | | | Use a simple recursive bash function to search for svn repos for the 'make update' target thus including projects like clang-tools-extra. Reviewers: bkramer, echristo llvm-svn: 173650
* Make some code a little simpler.Reed Kotler2013-01-282-40/+40
| | | | llvm-svn: 173649
* Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation ↵Michael Gottesman2013-01-2825-42/+152
| | | | | | for refactoring the ARC Optimizer. llvm-svn: 173647
* Use proper type for the index.Bill Wendling2013-01-282-15/+15
| | | | llvm-svn: 173646
* Remove another use of AttributeWithIndex, using the AttributeSetImpl ↵Bill Wendling2013-01-281-6/+14
| | | | | | accessors instead. llvm-svn: 173644
* Remove another use of AttributeWithIndex, using the AttributeSetImpl ↵Bill Wendling2013-01-281-6/+8
| | | | | | accessors instead. llvm-svn: 173642
* Remove a use of AttributeWithIndex.Bill Wendling2013-01-282-13/+33
| | | | | | | | | | We want to remove AttributeWithIndex because it provides a non-encapsulated view of the AttributeSetImpl object. Instead, use accessor methods and iterators. Eventually, this code can be simplified because the Attribute object will hold only one attribute instead of multiple attributes. llvm-svn: 173641
* Improve the debug output a bit.Bill Wendling2013-01-271-2/+7
| | | | llvm-svn: 173640
* Use proper return type for attribute index.Bill Wendling2013-01-272-2/+2
| | | | llvm-svn: 173639
* Use proper return type for attribute index.Bill Wendling2013-01-271-1/+1
| | | | llvm-svn: 173638
* Push the calculation of the 'Raw' attribute mask down into the ↵Bill Wendling2013-01-273-10/+29
| | | | | | implementation. It in turn uses the correct list for calculating the 'Raw' value. llvm-svn: 173637
* Don't erase these methods. They're used during testing.Bill Wendling2013-01-271-0/+3
| | | | llvm-svn: 173636
* Add special 'get' methods to create an Attribute with an alignment. Also do ↵Bill Wendling2013-01-272-14/+22
| | | | | | some random cleanup. No functionality change. llvm-svn: 173635
* [XCore] Add missing l2rus instructions.Richard Osborne2013-01-273-1/+20
| | | | | | | These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173634
* 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
* [XCore] Add missing l2r instructions.Richard Osborne2013-01-272-1/+24
| | | | | | | These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173629
* s/AttrList/pImpl/g in AttributeSet. No functionality change.Bill Wendling2013-01-272-31/+31
| | | | 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
* Legalizer: Reword comment again, per Duncan's suggestion.Benjamin Kramer2013-01-271-3/+2
| | | | llvm-svn: 173625
* [XCore] Add missing 1r instructions.Richard Osborne2013-01-272-6/+48
| | | | | | | These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173624
* [XCore] Add missing 0r instructions.Richard Osborne2013-01-272-3/+95
| | | | | | | These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173623
* BBVectorize: Better use of TTI->getShuffleCostHal Finkel2013-01-271-4/+23
| | | | | | | | | | | | | | | | | | | | When flipping the pair of subvectors that form a vector, if the vector length is 2, we can use the SK_Reverse shuffle kind to get more-accurate cost information. Also we can use the SK_ExtractSubvector shuffle kind to get accurate subvector extraction costs. The current cost model implementations don't yet seem complex enough for this to make a difference (thus, there are no test cases with this commit), but it should help in future. Depending on how the various targets optimize and combine shuffles in practice, we might be able to get more-accurate costs by combining the costs of multiple shuffle kinds. For example, the cost of flipping the subvector pairs could be modeled as two extractions and two subvector insertions. These changes, however, should probably be motivated by specific test cases. llvm-svn: 173621
* Legalizer: Add an assert and tweak a comment to clarify the assumptions this ↵Benjamin Kramer2013-01-271-1/+5
| | | | | | code makes. llvm-svn: 173620
* 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
* [CMake][Lit][unittests] Cleanup in AddLLVM.cmake.NAKAMURA Takumi2013-01-271-8/+1
| | | | llvm-svn: 173617
* [CMake][Lit][unittests] Deprecate CMAKE_BUILD_TYPE in each build directory ↵NAKAMURA Takumi2013-01-273-25/+5
| | | | | | | | | | | | | | | | | | | | | | | | for unittests. For example, cur) unittests/ADT/Release/ADTTests new) unittests/ADT/ADTTests RUNTIME_BUILD_MODE can be substituted to CMAKE_CFG_INTDIR. With Make and Ninja, the tree is not built with multiple configurations. Then, including the build type in target directory doesn't make sense. See also "How can I build multiple modes without switching?" http://www.cmake.org/Wiki/CMake_FAQ CMAKE_CFG_INTDIR is set to "." With multiple-configuration-aware build system, like Visual Studio, each unittest is built on appropriate directory, for example, unittests/ADT/Release/ADTTests.exe CMAKE_CFG_INTDIR is set to build system's variable, like "$(Configuration)" or "$(OutDir)". Thus, "--param build_config" is also deprecated. llvm-svn: 173616
* When the legalizer is splitting vector shifts, the result may not have the ↵Benjamin Kramer2013-01-272-2/+20
| | | | | | | | | | | | | | | right shift amount type. Fix that by adding a cast to the shift expander. This came up with vector shifts on sse-less X86 CPUs. <2 x i64> = shl <2 x i64> <2 x i64> -> i64,i64 = shl i64 i64; shl i64 i64 -> i32,i32,i32,i32 = shl_parts i32 i32 i64; shl_parts i32 i32 i64 Now we cast the last two i64s to the right type. Fixes the crash in PR14668. llvm-svn: 173615
* Fix miscompile. Add back the use of the ArrayRef version of the ::get method.Bill Wendling2013-01-272-3/+6
| | | | llvm-svn: 173613
* Rearrange some deckchairs. Moving the class before it's use.Bill Wendling2013-01-271-17/+16
| | | | llvm-svn: 173612
* Remove dead methods.Bill Wendling2013-01-272-23/+3
| | | | llvm-svn: 173611
* Re-revert r173342, without losing the compile time improvements, flatChandler Carruth2013-01-272-142/+12
| | | | | | out bug fixes, or functionality preserving refactorings. llvm-svn: 173610
* Renamed function IsPotentialUse to IsPotentialRetainableObjPtr.Michael Gottesman2013-01-271-18/+18
| | | | | | | | | This name change does the following: 1. Causes the function name to use proper ARC terminology. 2. Makes it clear what the function truly does. llvm-svn: 173609
* Fix test to not use the AttributeSet's AttributeWithIndex creation method.Bill Wendling2013-01-271-5/+5
| | | | llvm-svn: 173608
* Hide the method that creates an AttributeSet with AttributeWithIndexes.Bill Wendling2013-01-271-1/+5
| | | | | | | This method will go away once AttributeWithIndex goes away. In the meantime, hide it from general use. llvm-svn: 173607
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-7/+6
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173606
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-33/+33
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173603
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-25/+18
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173602
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-22/+15
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173601
* Use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-27/+15
| | | | | | | In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the internals of the AttributeSet to outside users, which isn't goodness. llvm-svn: 173600
* Convert the CPP backend to use the AttributeSet instead of AttributeWithIndex.Bill Wendling2013-01-271-26/+37
| | | | | | Further removal of the introspective AttributeWithIndex thing. Also fix the #includes. llvm-svn: 173599
* Use the AttributeSet instead of AttributeWithIndex object.Bill Wendling2013-01-271-3/+2
| | | | llvm-svn: 173598
* PR14566: Debug Info: Removing top level lexical blocksDavid Blaikie2013-01-264-32/+83
| | | | | | | | | | This adds support for LLVM to accept metadata that doesn't include a top level lexical block in a function. Specifically LLVM couldn't handle this when there were file changes relating to these blocks. I've updated a few test cases to ensure other functionality (such as inlining) isn't affected by this change, but haven't pervasively updated all the test cases. llvm-svn: 173592
OpenPOWER on IntegriCloud