summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* LoopVectorize: Clean up ValueMap a bit and avoid double lookups.Benjamin Kramer2013-01-291-10/+12
| | | | | | No intended functionality change. llvm-svn: 173809
* R600/AMDILPeepholeOptimizer.cpp: Tweak std::make_pair to satisfy C++11.NAKAMURA Takumi2013-01-291-1/+1
| | | | llvm-svn: 173807
* AttributeSet::get(): Fix a valgrind error. It doesn't affect actual ↵NAKAMURA Takumi2013-01-291-1/+1
| | | | | | | | behavior, though. Don't touch I->first on the end iterator, I == E! llvm-svn: 173804
* Fix typo in X86BaseInfo.h that I introduced in r157818.Hans Wennborg2013-01-291-2/+2
| | | | llvm-svn: 173798
* Hopefully fix the Windows build failure introduced in r173769Timur Iskhodzhanov2013-01-292-0/+2
| | | | llvm-svn: 173781
* Fix 64-bit atomic operations in Thumb mode.Tim Northover2013-01-291-74/+46
| | | | | | | | The ARM and Thumb variants of LDREXD and STREXD have different constraints and take different operands. Previously the code expanding atomic operations didn't take this into account and asserted in Thumb mode. llvm-svn: 173780
* Merge SSE and AVX shuffle instructions in the comment printer.Craig Topper2013-01-291-98/+14
| | | | llvm-svn: 173777
* MIsched: cleanup code. Use isBoundaryNode().Andrew Trick2013-01-291-2/+4
| | | | llvm-svn: 173775
* 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
* Convert getAttributes() to return an AttributeSetNode.Bill Wendling2013-01-292-62/+107
| | | | | | | The AttributeSetNode contains all of the attributes. This removes one (hopefully last) use of the Attribute class as a container of multiple attributes. llvm-svn: 173761
* 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
* 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
OpenPOWER on IntegriCloud