| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
50% slowdown on one of the specs.
llvm-svn: 173678
|
| |
|
|
|
|
| |
independent 256-bit lanes.
llvm-svn: 173674
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
because the comment itself is still wrong.
llvm-svn: 173669
|
| |
|
|
|
|
| |
instruction.
llvm-svn: 173667
|
| |
|
|
|
|
| |
large to static inline and place in a header file such as ObjCARC.h.
llvm-svn: 173666
|
| |
|
|
|
|
| |
Fixes a -Wunused warning.
llvm-svn: 173664
|
| |
|
|
|
|
| |
violations.
llvm-svn: 173663
|
| |
|
|
| |
llvm-svn: 173662
|
| |
|
|
| |
llvm-svn: 173661
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Unfortunately, msvc miscompiles it. Investigating.
llvm-svn: 173656
|
| |
|
|
| |
llvm-svn: 173654
|
| |
|
|
| |
llvm-svn: 173653
|
| |
|
|
| |
llvm-svn: 173652
|
| |
|
|
|
|
|
| |
I also added the local header ObjCARC.h for common functions used by the
various passes.
llvm-svn: 173651
|
| |
|
|
| |
llvm-svn: 173649
|
| |
|
|
|
|
| |
for refactoring the ARC Optimizer.
llvm-svn: 173647
|
| |
|
|
| |
llvm-svn: 173646
|
| |
|
|
|
|
| |
accessors instead.
llvm-svn: 173644
|
| |
|
|
|
|
| |
accessors instead.
llvm-svn: 173642
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 173640
|
| |
|
|
| |
llvm-svn: 173639
|
| |
|
|
| |
llvm-svn: 173638
|
| |
|
|
|
|
| |
implementation. It in turn uses the correct list for calculating the 'Raw' value.
llvm-svn: 173637
|
| |
|
|
|
|
| |
some random cleanup. No functionality change.
llvm-svn: 173635
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 173634
|
| |
|
|
| |
llvm-svn: 173632
|
| |
|
|
| |
llvm-svn: 173631
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 173629
|
| |
|
|
| |
llvm-svn: 173628
|
| |
|
|
|
|
| |
Also add some asserts.
llvm-svn: 173627
|
| |
|
|
| |
llvm-svn: 173625
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 173624
|
| |
|
|
|
|
|
| |
These instructions are not targeted by the compiler but they are
needed for the MC layer.
llvm-svn: 173623
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
code makes.
llvm-svn: 173620
|
| |
|
|
|
|
| |
attributes being passed in.
llvm-svn: 173618
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 173613
|
| |
|
|
| |
llvm-svn: 173611
|
| |
|
|
|
|
| |
out bug fixes, or functionality preserving refactorings.
llvm-svn: 173610
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Further removal of the introspective AttributeWithIndex thing. Also fix the #includes.
llvm-svn: 173599
|