- Jan 29, 2013
-
-
Hal Finkel authored
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
-
Hal Finkel authored
This function will be used in future commits. llvm-svn: 173729
-
- Jan 28, 2013
-
-
Bill Wendling authored
llvm-svn: 173725
-
Bill Wendling authored
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
-
Andrew Kaylor authored
llvm-svn: 173712
-
Edwin Vane authored
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
-
Bill Schmidt authored
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
-
Eric Christopher authored
llvm-svn: 173698
-
Renato Golin authored
llvm-svn: 173691
-
Evgeniy Stepanov authored
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
-
Evgeniy Stepanov authored
Broken tests. llvm-svn: 173679
-
Evgeniy Stepanov authored
50% slowdown on one of the specs. llvm-svn: 173678
-
Craig Topper authored
llvm-svn: 173674
-
Nadav Rotem authored
A bugfix for tblgen, in the function ‘emitSourceFileHeader’. 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
-
Craig Topper authored
Add missing break in 256-bit palignr comment printing. No test case yet because the comment itself is still wrong. llvm-svn: 173669
-
Craig Topper authored
llvm-svn: 173667
-
Michael Gottesman authored
Created ObjCARCUtil.cpp for functions which in my humble opinion are too large to static inline and place in a header file such as ObjCARC.h. llvm-svn: 173666
-
Craig Topper authored
llvm-svn: 173664
-
Michael Gottesman authored
llvm-svn: 173663
-
Michael Gottesman authored
llvm-svn: 173662
-
Bill Wendling authored
llvm-svn: 173661
-
Bill Wendling authored
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
-
Bill Wendling authored
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
-
NAKAMURA Takumi authored
Unfortunately, msvc miscompiles it. Investigating. llvm-svn: 173656
-
Michael Gottesman authored
llvm-svn: 173654
-
Michael Gottesman authored
llvm-svn: 173653
-
Michael Gottesman authored
llvm-svn: 173652
-
Michael Gottesman authored
I also added the local header ObjCARC.h for common functions used by the various passes. llvm-svn: 173651
-
Reed Kotler authored
llvm-svn: 173649
-
Michael Gottesman authored
Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. llvm-svn: 173647
-
Bill Wendling authored
llvm-svn: 173646
-
Bill Wendling authored
llvm-svn: 173644
-
Bill Wendling authored
llvm-svn: 173642
-
Bill Wendling authored
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
-
Bill Wendling authored
llvm-svn: 173640
-
Bill Wendling authored
llvm-svn: 173639
-
Bill Wendling authored
llvm-svn: 173638
-
Bill Wendling authored
Push the calculation of the 'Raw' attribute mask down into the implementation. It in turn uses the correct list for calculating the 'Raw' value. llvm-svn: 173637
-
- Jan 27, 2013
-
-
Bill Wendling authored
Add special 'get' methods to create an Attribute with an alignment. Also do some random cleanup. No functionality change. llvm-svn: 173635
-
Richard Osborne authored
These instructions are not targeted by the compiler but they are needed for the MC layer. llvm-svn: 173634
-