summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Removed some cruft from ObjCARCAliasAnalysis.cpp.Michael Gottesman2013-01-291-10/+0
| | | | llvm-svn: 173759
* Teach SDISel to combine fsin / fcos into a fsincos node if the followingEvan Cheng2013-01-2913-24/+240
| | | | | | | | | | | | | | | | | | conditions are met: 1. They share the same operand and are in the same BB. 2. Both outputs are used. 3. The target has a native instruction that maps to ISD::FSINCOS node or the target provides a sincos library call. Implemented the generic optimization in sdisel and enabled it for Mac OSX. Also added an additional optimization for x86_64 Mac OSX by using an alternative entry point __sincos_stret which returns the two results in xmm0 / xmm1. rdar://13087969 PR13204 llvm-svn: 173755
* Use an AttrBuilder to generate the correct AttributeSet.Bill Wendling2013-01-292-19/+18
| | | | | | | | | We no longer accept an encoded integer as representing all of the attributes. Convert this via the AttrBuilder class into an AttributeSet with the correct representation (an AttributeSetImpl that holds a list of Attribute objects). llvm-svn: 173750
* Convert the AttrBuilder into a list of Attributes instead of one Attribute ↵Bill Wendling2013-01-291-2/+15
| | | | | | object that holds all of its attributes. llvm-svn: 173742
* Formatting correctionAndrew Kaylor2013-01-291-2/+1
| | | | llvm-svn: 173739
* S'more small non-functional changes in comments and #includes.Bill Wendling2013-01-291-2/+5
| | | | llvm-svn: 173738
* Reorder some functions and add comments. No functionality change.Bill Wendling2013-01-292-342/+340
| | | | llvm-svn: 173733
* 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
* Add isBGQ method to PPCSubtargetHal Finkel2013-01-291-0/+2
| | | | | | This function will be used in future commits. llvm-svn: 173729
* Try to appease some broken compilers by using 'unsigned' instead of 'uint64_t'.Bill Wendling2013-01-282-21/+18
| | | | llvm-svn: 173725
* Remove the AttributeWithIndex class.Bill Wendling2013-01-282-92/+73
| | | | | | | The AttributeWithIndex class exposed the interior structure of the AttributeSet class. That was gross. Remove it and all of the code that relied upon it. llvm-svn: 173722
* Add support for source and line information to IntelJITEventListener for ↵Andrew Kaylor2013-01-281-8/+45
| | | | | | object emitted by MCJIT. llvm-svn: 173712
* Fix gcc/printf/ISO C++ warningEdwin Vane2013-01-281-1/+5
| | | | | | | | | | | | Remove the use of the 't' length modifier to avoid a gcc warning. Based on usage, 32 bits of precision is good enough for printing a stack offset for a stack trace. 't' length modifier isn't in C++03 but it *is* in C++11. Added a FIXME to reintroduce once LLVM makes the switch to C++11. Reviewer: gribozavr llvm-svn: 173711
* This patch addresses bug 15031.Bill Schmidt2013-01-282-9/+26
| | | | | | | | | | | | | | | | | | | | | | The common code in the post-RA scheduler to break anti-dependencies on the critical path contained a flaw. In the reported case, an anti-dependency between the overlapping registers %X4 and %R4 exists: %X29<def> = OR8 %X4, %X4 %R4<def>, %X3<def,dead,tied3> = LBZU 1, %X3<kill,tied1> The unpatched code breaks the dependency by replacing %R4 and its uses with %R3, the first register on the available list. However, %R3 and %X3 overlap, so this creates two overlapping definitions on the same instruction. The fix is straightforward, preventing selection of a register that overlaps any other defined register on the same instruction. The test case is reduced from the bug report, and verifies that we no longer produce "lbzu 3, 1(3)" when breaking this anti-dependency. llvm-svn: 173706
* Fix comment.Eric Christopher2013-01-281-1/+1
| | | | llvm-svn: 173698
* 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
* Fix 256-bit PALIGNR comment decoding to understand that it works on ↵Craig Topper2013-01-281-2/+11
| | | | | | independent 256-bit lanes. llvm-svn: 173674
* A bugfix for tblgen, in the function ‘emitSourceFileHeader’.Nadav Rotem2013-01-281-6/+25
| | | | | | | | | When the first parameter (‘Desc’) is more than 80 characters long, it will result the header line that contains the description to be more Than (4GB!) long. Not only it takes forever to produce, the output file cannot be open, since its ginormous. Patch by Elior Malul. llvm-svn: 173672
* Add missing break in 256-bit palignr comment printing. No test case yet ↵Craig Topper2013-01-281-0/+1
| | | | | | because the comment itself is still wrong. llvm-svn: 173669
* Fix inconsistent usage of PALIGN and PALIGNR when referring to the same ↵Craig Topper2013-01-287-34/+35
| | | | | | instruction. llvm-svn: 173667
* 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
* Remove addToNoHelperNeeded function that was left unused after r173649. ↵Craig Topper2013-01-281-6/+0
| | | | | | Fixes a -Wunused warning. llvm-svn: 173664
* 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
* Mid-air collision. reapply r173656.Bill Wendling2013-01-281-5/+5
| | | | llvm-svn: 173661
* Rewrite the removeAttr() method.Bill Wendling2013-01-281-42/+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-281-73/+76
| | | | | | | | | 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-281-7/+7
| | | | | | 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
* 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-2812-12/+89
| | | | | | for refactoring the ARC Optimizer. llvm-svn: 173647
* Use proper type for the index.Bill Wendling2013-01-281-7/+7
| | | | 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-271-1/+1
| | | | 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-272-9/+25
| | | | | | implementation. It in turn uses the correct list for calculating the 'Raw' value. llvm-svn: 173637
* Add special 'get' methods to create an Attribute with an alignment. Also do ↵Bill Wendling2013-01-271-0/+11
| | | | | | some random cleanup. No functionality change. llvm-svn: 173635
* [XCore] Add missing l2rus instructions.Richard Osborne2013-01-272-1/+14
| | | | | | | 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-271-1/+12
| | | | | | | These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173629
OpenPOWER on IntegriCloud