| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 173759
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
object that holds all of its attributes.
llvm-svn: 173742
|
| |
|
|
| |
llvm-svn: 173739
|
| |
|
|
| |
llvm-svn: 173738
|
| |
|
|
| |
llvm-svn: 173733
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
This function will be used in future commits.
llvm-svn: 173729
|
| |
|
|
| |
llvm-svn: 173725
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
object emitted by MCJIT.
llvm-svn: 173712
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 173698
|
| |
|
|
| |
llvm-svn: 173691
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Broken tests.
llvm-svn: 173679
|
| |
|
|
|
|
| |
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
|