| 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
|
| |
|
|
|
|
| |
This fixes pr14691, which I think is a regression from r168519.
llvm-svn: 171077
|
| |
|
|
| |
llvm-svn: 171076
|
| |
|
|
| |
llvm-svn: 171075
|
| |
|
|
|
|
| |
due to FORCE_CLANG_DIAGNOSTICS_CRASH=1. Also add a test for that env var.
llvm-svn: 171074
|
| |
|
|
|
|
|
|
|
|
|
| |
As with the prefetch intrinsic to which it maps, simply have dcbt
marked as reading from and writing to its arguments instead of having
unmodeled side effects. While this might cause unwanted code motion
(because aliasing checks don't really capture cache-line sharing),
it is more important that prefetches in unrolled loops don't block
the scheduler from rearranging the unrolled loop body.
llvm-svn: 171073
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 171071
|
| |
|
|
|
|
|
| |
VectorType::getInteger() can not be used with them, because pointer size
depends on the target.
llvm-svn: 171070
|
| |
|
|
| |
llvm-svn: 171069
|
| |
|
|
|
|
|
|
| |
Changed getLocStart() and getLocEnd() to be required for Stmts, and make
getSourceRange() optional. The default implementation for getSourceRange()
is build the range by calling getLocStart() and getLocEnd().
llvm-svn: 171067
|
| |
|
|
|
|
| |
This only failed on hosts that don't have SSE41.
llvm-svn: 171066
|
| |
|
|
| |
llvm-svn: 171065
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 171062
|
| |
|
|
|
|
| |
consistency
llvm-svn: 171061
|
| |
|
|
| |
llvm-svn: 171060
|
| |
|
|
| |
llvm-svn: 171059
|
| |
|
|
|
|
| |
asan_allocator2. More test tweaking for allocator2
llvm-svn: 171058
|
| |
|
|
|
|
| |
to false positives)
llvm-svn: 171057
|
| |
|
|
|
|
| |
calling convention is already implemented in LLVM.
llvm-svn: 171056
|
| |
|
|
|
|
| |
should save quite a bit of memory in tsan/msan (and later in asan). This also puts more stress on the large allocator. Add a couple of checks
llvm-svn: 171055
|
| |
|
|
|
|
| |
(the old code won't work with new allocator)
llvm-svn: 171054
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the body of a functions. The problem was that hasBody looks at the entire chain
and causes problems to -fvisibility-inlines-hidden if the cache was not
invalidated.
Original message:
Cache visibility of decls.
This unifies the linkage and visibility caching. I first implemented this when
working on pr13844, but the previous fixes removed the performance advantage of
this one.
This is still a step in the right direction for making linkage and visibility
cheap to use.
llvm-svn: 171053
|
| |
|
|
|
|
| |
true causing redzone and quarantine sizes to be smaller than it was some time before (and out of sync with the documentation). Also make one test less greedy
llvm-svn: 171052
|
| |
|
|
| |
llvm-svn: 171051
|
| |
|
|
|
|
| |
It broke stage2.
llvm-svn: 171050
|
| |
|
|
| |
llvm-svn: 171049
|
| |
|
|
|
|
|
|
|
|
|
| |
This unifies the linkage and visibility caching. I first implemented this when
working on pr13844, but the previous fixes removed the performance advantage of
this one.
This is still a step in the right direction for making linkage and visibility
cheap to use.
llvm-svn: 171048
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
any tests.
"check-all" can be executed with 0 status, "check-all does nothing, no tools built."
LLVM_EXTERNAL_CLANG_BUILD=OFF LLVM_BUILD_TOOLS=OFF can reproduce this.
Oscar Fuentes reported this. Thank you.
llvm-svn: 171046
|
| |
|
|
| |
llvm-svn: 171045
|
| |
|
|
| |
llvm-svn: 171044
|
| |
|
|
| |
llvm-svn: 171043
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Now we really pass -Wcovered-switch-default if the compiler supports it.
llvm-svn: 171040
|
| |
|
|
|
|
|
|
| |
Apply all formatting changes that clang-format would apply to its own source
code. All choices seem to improve readability (or at least not make it worse).
No functional changes.
llvm-svn: 171039
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents formattings like this (assuming "parameter" doesn't fit the line):
bool f = someFunction() && someFunctionWithParam(
parameter) && someOtherFunction();
Here, "parameter" - the start of line 2 - has a parenthesis level of 2, but
there are subsequent tokens ("&&" and "someOtherFunction") with a lower level.
This is bad for readability as "parameter" hides "someOtherFunction". With this
patch, this changes to:
bool f = someFunction() &&
someFunctionWithParam(parameter) &&
someOtherFunction();
llvm-svn: 171038
|
| |
|
|
| |
llvm-svn: 171037
|
| |
|
|
| |
llvm-svn: 171036
|
| |
|
|
|
|
| |
linked list
llvm-svn: 171035
|
| |
|
|
| |
llvm-svn: 171034
|
| |
|
|
|
|
| |
(this breaks RPM packages)
llvm-svn: 171033
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes:
int Result = a + // force break
b;
return Result + // force break
5;
To:
int Result = a + // force break
b;
return Result + // force break
5;
llvm-svn: 171032
|
| |
|
|
|
|
| |
differences between size classes more uniform.
llvm-svn: 171031
|
| |
|
|
|
|
| |
to prevent assertion failures on code like "write(-1, ...)"
llvm-svn: 171030
|