summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Convert typeIncompatible to return an AttributeSet.Bill Wendling2013-01-302-6/+20
| | | | | | | There are still places which treat the Attribute object as a collection of attributes. I'm systematically removing them. llvm-svn: 173990
* Linker: correctly link in dbg.declareManman Ren2013-01-301-2/+11
| | | | | | | | | | | | | | | | Given source IR: call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14), !dbg !15 we used to generate call void @llvm.dbg.declare(metadata !27, metadata !28), !dbg !29 !27 = metadata !{null} With this patch, we will correctly generate call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27), !dbg !28 Looking up %argc.addr in ValueMap will return null, since %argc.addr is already correctly set up, we can use identity mapping. llvm-svn: 173946
* InstCombine: canonicalize sext-and --> selectNadav Rotem2013-01-301-0/+28
| | | | | | | | sext-not-and --> select. Patch by Muhammad Tauqir Ahmad. llvm-svn: 173901
* Made certain small functions in PtrState inlined.Michael Gottesman2013-01-291-7/+7
| | | | llvm-svn: 173842
* LoopVectorize: convert TinyTripCountVectorThreshold constantPekka Jaaskelainen2013-01-291-1/+3
| | | | | | to a command line switch. llvm-svn: 173837
* Removed trailing comma in last element of enum declaration.Michael Gottesman2013-01-291-1/+1
| | | | llvm-svn: 173836
* Moved S_Stop back to its previous position in the sequence order.Michael Gottesman2013-01-291-1/+1
| | | | llvm-svn: 173834
* Fixed a few debug messages and some 80+ violations.Michael Gottesman2013-01-291-9/+10
| | | | llvm-svn: 173832
* Added some periods to some comments and added an overload for operator<< for ↵Michael Gottesman2013-01-291-6/+28
| | | | | | type Sequence so I can print out Sequences in debug statements. llvm-svn: 173831
* Changed DoesObjCBlockEscape => DoesRetainableObjPtrEscape so I can use it to ↵Michael Gottesman2013-01-291-14/+17
| | | | | | perform escape analysis of other retainable object pointers in other locations. llvm-svn: 173829
* Fixing warnings revealed by gcc release buildEdwin Vane2013-01-292-0/+2
| | | | | | | Fixed set-but-not-used warnings. Reviewer: gribozavr llvm-svn: 173810
* LoopVectorize: Clean up ValueMap a bit and avoid double lookups.Benjamin Kramer2013-01-291-10/+12
| | | | | | No intended functionality change. llvm-svn: 173809
* Hopefully fix the Windows build failure introduced in r173769Timur Iskhodzhanov2013-01-292-0/+2
| | | | llvm-svn: 173781
* Fixed 2 more header comments...Michael Gottesman2013-01-292-2/+2
| | | | llvm-svn: 173774
* Fixed header comment.Michael Gottesman2013-01-291-8/+4
| | | | llvm-svn: 173773
* Fixed some whitespace/80+ violations. Also added a space after a namespace ↵Michael Gottesman2013-01-294-6/+6
| | | | | | declaration. llvm-svn: 173772
* Added missing dashes from header declaration comment.Michael Gottesman2013-01-291-1/+1
| | | | llvm-svn: 173770
* Juggled Debug.h from ObjCARC.h to only the including cpp files thatMichael Gottesman2013-01-294-2/+7
| | | | | | | actually have DEBUG statements. Also changed raw_ostream in said header to be a forward declaration (removing an include). llvm-svn: 173769
* Sorted includes using utils/sort_includes.Michael Gottesman2013-01-298-15/+6
| | | | llvm-svn: 173767
* Added two missing headers from ObjCARCAliasAnalysis.h.Michael Gottesman2013-01-291-0/+3
| | | | | | | | This was missed since whenever I was including ObjCARCAliasAnalysis.h, I was including ObjCARC.h before it which included these includes (resulting in no compilation breakage). llvm-svn: 173764
* Removed InstCombine/Targets as library dependencies for libObjCARCOpts since ↵Michael Gottesman2013-01-291-1/+1
| | | | | | they are unnecessary. llvm-svn: 173763
* Extracted ObjCARCContract from ObjCARCOpts into its own file.Michael Gottesman2013-01-299-1181/+1387
| | | | | | | | This also required adding 2x headers Dependency Analysis.h/Provenance Analysis.h and a .cpp file DependencyAnalysis.cpp to unentangle the dependencies inbetween ObjCARCContract and ObjCARCOpts. llvm-svn: 173760
* Removed some cruft from ObjCARCAliasAnalysis.cpp.Michael Gottesman2013-01-291-10/+0
| | | | llvm-svn: 173759
* Unroll again after running BBVectorizeHal Finkel2013-01-291-0/+4
| | | | | | | | Because BBVectorize may significantly shorten a loop body, unroll again after vectorization. This is especially important when using runtime or partial unrolling. llvm-svn: 173730
* Vectorization Factor clarificationRenato Golin2013-01-281-17/+24
| | | | llvm-svn: 173691
* [msan] Mostly disable msan-handle-icmp-exact.Evgeniy Stepanov2013-01-281-6/+24
| | | | | | | | It is way too slow. Change the default option value to 0. Always do exact shadow propagation for unsigned ICmp with constants, it is cheap (under 1% cpu time) and required for correctness. llvm-svn: 173682
* Revert r173678.Evgeniy Stepanov2013-01-281-1/+1
| | | | | | Broken tests. llvm-svn: 173679
* [msan] Make msan-handle-icmp-exact=0 by default.Evgeniy Stepanov2013-01-281-1/+1
| | | | | | 50% slowdown on one of the specs. llvm-svn: 173678
* Created ObjCARCUtil.cpp for functions which in my humble opinion are too ↵Michael Gottesman2013-01-283-126/+152
| | | | | | large to static inline and place in a header file such as ObjCARC.h. llvm-svn: 173666
* Cleaned up includes in various ObjCARC files and removed some whitespace ↵Michael Gottesman2013-01-284-9/+34
| | | | | | violations. llvm-svn: 173663
* Refactor ObjCARCAliasAnalysis into its own file.Michael Gottesman2013-01-285-283/+352
| | | | llvm-svn: 173662
* 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
* Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation ↵Michael Gottesman2013-01-2811-11/+88
| | | | | | for refactoring the ARC Optimizer. llvm-svn: 173647
* 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
* Re-revert r173342, without losing the compile time improvements, flatChandler Carruth2013-01-271-27/+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
* 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
* BBVectorize: Add a additional comment about the cost computationHal Finkel2013-01-261-0/+6
| | | | llvm-svn: 173580
* BBVectorize: Fix anomalous capital letter in commentHal Finkel2013-01-261-1/+1
| | | | llvm-svn: 173579
* Convert BuildLibCalls.cpp to using the AttributeSet methods instead of ↵Bill Wendling2013-01-261-66/+66
| | | | | | AttributeWithIndex. llvm-svn: 173536
* Remove some introspection functions.Bill Wendling2013-01-253-16/+21
| | | | | | | | 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
* LoopVectorize: Refactor the code that vectorizes loads/stores to remove ↵Nadav Rotem2013-01-251-145/+113
| | | | | | duplication. llvm-svn: 173500
* Use the new 'getSlotIndex' method to retrieve the attribute's slot index.Bill Wendling2013-01-253-4/+4
| | | | llvm-svn: 173499
* LoopVectorize: Simplify code. No functionality change.Benjamin Kramer2013-01-251-26/+17
| | | | llvm-svn: 173475
* added ability to dynamically change the ExportList of an alreadyPedro Artigas2013-01-251-0/+10
| | | | | | created InternalizePass (useful for pass reuse) llvm-svn: 173474
OpenPOWER on IntegriCloud