| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
32-bit stores which aren't required to be aligned on SSE or AVX.
llvm-svn: 171080
|
|
|
|
|
|
|
|
|
|
|
|
| |
For the time being this includes only some dummy test cases. Once the
generic implementation of the intrinsics cost function does something other
than assuming scalarization in all cases, or some target specializes the
interface, some real test cases can be added.
Also, for consistency, I changed the type of IID from unsigned to Intrinsic::ID
in a few other places.
llvm-svn: 171079
|
|
|
|
|
|
| |
r171049. This instruction doesn't require alignment.
llvm-svn: 171078
|
|
|
|
| |
llvm-svn: 171076
|
|
|
|
| |
llvm-svn: 171075
|
|
|
|
|
|
|
|
| |
Use of store or load with the atomic specifier on 64-bit types would
cause instruction-selection failures. As with the 32-bit case, these
can use the default expansion in terms of cmp-and-swap.
llvm-svn: 171072
|
|
|
|
|
|
|
| |
VectorType::getInteger() can not be used with them, because pointer size
depends on the target.
llvm-svn: 171070
|
|
|
|
| |
llvm-svn: 171069
|
|
|
|
|
|
| |
of and commutativity.
llvm-svn: 171064
|
|
|
|
|
|
|
| |
pcmpeqd, pshufd, pshufd, pand is cheaper than unpack + cmpq, sbbq, cmpq, sbbq + pack.
Small speedup on loop-vectorized viterbi (-march=core2).
llvm-svn: 171063
|
|
|
|
|
|
| |
consistency
llvm-svn: 171061
|
|
|
|
| |
llvm-svn: 171060
|
|
|
|
| |
llvm-svn: 171051
|
|
|
|
| |
llvm-svn: 171049
|
|
|
|
|
|
|
|
|
| |
These are now generally used for all diagnostics from the backend, not just
for inline assembly, so this drops the "InlineAsm" from the names. No
functional change. (I've left aliases for the old names but only for long
enough to let me switch over clang to use the new ones.)
llvm-svn: 171047
|
|
|
|
| |
llvm-svn: 171044
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This affords us to use std::string's allocation routines and use the destructor
for the memory management. Switching to that also means that we can use
operator==(const std::string&, const char *) to perform the string comparison
rather than resorting to libc functionality (i.e. strcmp).
Patch by Saleem Abdulrasool!
Differential Revision: http://llvm-reviews.chandlerc.com/D230
llvm-svn: 171042
|
|
|
|
|
|
|
|
|
| |
When the backend is used from clang, it should produce proper diagnostics
instead of just printing messages to errs(). Other clients may also want to
register their own error handlers with the LLVMContext, and the same handler
should work for warnings in the same way as the existing emitError methods.
llvm-svn: 171041
|
|
|
|
|
|
| |
support for the insert-subvector and extract-subvector kinds.
llvm-svn: 171027
|
|
|
|
| |
llvm-svn: 171026
|
|
|
|
|
|
| |
mangling prefix to this symbol.
llvm-svn: 171025
|
|
|
|
|
|
|
|
|
| |
this memory needs to be aligned.
When these instructions are encoded in VEX (on AVX) there is no such requirement. This changes the folding
tables and removes the alignment restrictions from VEX-encoded instructions.
llvm-svn: 171024
|
|
|
|
|
|
|
|
| |
the StoreInst operands.
PR14705.
llvm-svn: 171023
|
|
|
|
|
|
| |
for broadcast and adds a more general API that accepts an enum of known shuffles.
llvm-svn: 171022
|
|
|
|
| |
llvm-svn: 171021
|
|
|
|
| |
llvm-svn: 171016
|
|
|
|
|
|
|
|
| |
The bug was in the code that detects PHIs in if-then-else block sequence.
PR14701.
llvm-svn: 171008
|
|
|
|
|
|
|
|
| |
the cost of arithmetic functions. We now assume that the cost of arithmetic
operations that are marked as Legal or Promote is low, but ops that are
marked as custom are higher.
llvm-svn: 171002
|
|
|
|
| |
llvm-svn: 171001
|
|
|
|
|
|
|
|
| |
insert/extract costs.
Fixes an assert during the build of oggenc in the test suite.
llvm-svn: 171000
|
|
|
|
| |
llvm-svn: 170997
|
|
|
|
| |
llvm-svn: 170996
|
|
|
|
|
|
| |
them more expensive.
llvm-svn: 170995
|
|
|
|
| |
llvm-svn: 170991
|
|
|
|
| |
llvm-svn: 170990
|
|
|
|
|
|
|
| |
Back when this exception was added, it was skipping a lot more code, but
now it just looks like a premature optimization.
llvm-svn: 170989
|
|
|
|
|
|
|
| |
The representation of the Operands array is going to change soon so it
can be allocated from a BumpPtrAllocator.
llvm-svn: 170988
|
|
|
|
|
|
|
| |
pmuludq is slow, but it turns out that all the unpacking and packing of the
scalarized mul is even slower. 10% speedup on loop-vectorized paq8p.
llvm-svn: 170985
|
|
|
|
|
|
|
| |
Also loosen the SSSE3 dependency a bit, expanded pshufb + psra is still better
than scalarized loads. Fixes PR14590.
llvm-svn: 170984
|
|
|
|
|
|
| |
attribute instead of the value of the attribute.
llvm-svn: 170972
|
|
|
|
| |
llvm-svn: 170968
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only way to read the eflags is using push and pop. If we don't
adjust the stack then we run over the first frame index. This is
not something that we want to do, so we have to make sure that
our machine function does not copy the flags. If it does then
we have to emit the prolog that adjusts the stack.
rdar://12896831
llvm-svn: 170961
|
|
|
|
|
|
| |
instructions.
llvm-svn: 170956
|
|
|
|
| |
llvm-svn: 170955
|
|
|
|
| |
llvm-svn: 170954
|
|
|
|
|
|
| |
was not catching the error.
llvm-svn: 170953
|
|
|
|
| |
llvm-svn: 170952
|
|
|
|
|
|
| |
instructions.
llvm-svn: 170950
|
|
|
|
| |
llvm-svn: 170948
|
|
|
|
| |
llvm-svn: 170947
|