| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
instead of abusing '__asan_init'
We currently version `__asan_init` and when the ABI version doesn't match, the linker gives a `undefined reference to '__asan_init_v5'` message. From this, it might not be obvious that it's actually a version mismatch error. This patch makes the error message much clearer by changing the name of the undefined symbol to be `__asan_version_mismatch_check_xxx` (followed by the version string). We obviously don't want the initializer to be named like that, so it's a separate symbol that is used only for the purpose of version checking.
Reviewed at http://reviews.llvm.org/D11004
llvm-svn: 243004
|
| |
|
|
|
|
|
|
|
|
| |
instead of abusing '__asan_init'
We currently version `__asan_init` and when the ABI version doesn't match, the linker gives a `undefined reference to '__asan_init_v5'` message. From this, it might not be obvious that it's actually a version mismatch error. This patch makes the error message much clearer by changing the name of the undefined symbol to be `__asan_version_mismatch_check_xxx` (followed by the version string). We obviously don't want the initializer to be named like that, so it's a separate symbol that is used only for the purpose of version checking.
Reviewed at http://reviews.llvm.org/D11004
llvm-svn: 243003
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Put sections to segments according to linker scripts if available.
Rework the code of TargetLayout::assignSectionsToSegments so it operates
on the given list of segments, which can be either read from linker scripts
or constructed as before.
Handle NONE segments defined in linker scripts by putting corresponding sections
to PT_NULL segment.
Consider flags set for segments through linker scripts.
Differential Revision: http://reviews.llvm.org/D10918
llvm-svn: 243002
|
| |
|
|
|
|
|
|
|
| |
syntax
Patch by: marina.yatsina@intel.com
Differential Revision: http://reviews.llvm.org/D11337
llvm-svn: 243001
|
| |
|
|
| |
llvm-svn: 243000
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the general GMR-in-non-LTO flag.
Without this, we have the global information during the CGSCC pipeline
for GVN and such, but don't have it available during the late loop
optimizations such as the vectorizer. Moreover, after the CGSCC pipeline
has finished we have substantially more accurate and refined call graph
information, function annotations, etc, which will make GMR even more
powerful than it is early in the pipelien.
Note that we have to play silly games with preserving AliasAnalysis
(which is now trivially preserved) in order to let a module analysis
magically be preserved into the entire function pass pipeline.
Simultaneously we have to not make GMR an immutable pass in order to be
able to re-run it and collect fresh data on the final call graph.
llvm-svn: 242999
|
| |
|
|
| |
llvm-svn: 242998
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds support for jstopinfo field of stop-reply packets. This field enables us to avoid
querying full thread stop data on most stops (see r242593 for more details).
Reviewers: ovyalov, clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11415
llvm-svn: 242997
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This removes Authors:, Gotchas:, Changes: and Copyright:.
It leaves a couple of Gotcha: blocks that were not empty.
Reviewers: abidh, ki.stfu, domipheus
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D11452
llvm-svn: 242996
|
| |
|
|
| |
llvm-svn: 242995
|
| |
|
|
|
|
|
|
|
|
| |
The DAG Node "SCALAR_TO_VECTOR" may be created if the type of the scalar element is legal.
Added a check for the scalar type before creating this node.
Added a test that fails with assertion on the current version.
Differential Revision: http://reviews.llvm.org/D11413
llvm-svn: 242994
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Prior to CMAKE 2.8.4 that was covered by the WIN32 conditional but
from 2.8.4 CMAKE no longer defined WIN32 when running under Cygwin
and it needs its own test.
Patch by Martell Malone!
http://reviews.llvm.org/D11347
llvm-svn: 242993
|
| |
|
|
|
|
|
|
|
|
| |
This commit broke the build. Numerous build bots broken, and it was
blocking my progress so reverting.
It should be trivial to reproduce -- enable the BPF backend and it
should fail when running llvm-tblgen.
llvm-svn: 242992
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
more dense datastructure. We actually only have 3 bits of information
and an often-null pointer here. This fits very nicely into a
pointer-size value in the DenseMap from Function -> Info. Then we take
one more pointer hop to get to a secondary DenseMap from GlobalValue ->
ModRefInfo when we actually have precise info for particular globals.
This is more code than I would really like to do this packing, but it
ended up reasonably cleanly laid out. It should ensure we don't hit
scaling limitations with more widespread use of GMR.
llvm-svn: 242991
|
| |
|
|
|
|
|
|
|
|
| |
Truncate with/without saturation
Added tests for DAG lowering ,encoding and intrinsic
Differential Revision: http://reviews.llvm.org/D11218
llvm-svn: 242990
|
| |
|
|
|
|
|
|
|
|
|
| |
where ScalarEvolution stores long lived raw pointers to objects those passes own.
This prevents the pointers from dangling when those passes are freed.
http://reviews.llvm.org/D11236
Patch by Steve King.
llvm-svn: 242989
|
| |
|
|
| |
llvm-svn: 242988
|
| |
|
|
|
|
|
|
|
|
| |
disabled only if AVX512BW and AVX512VL present.
Tests added.
Differential Revision: http://reviews.llvm.org/D11414
llvm-svn: 242987
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D11420
llvm-svn: 242986
|
| |
|
|
| |
llvm-svn: 242985
|
| |
|
|
|
|
|
|
|
| |
add -fno-delayed-template-parsing.
Note, clang-tidy tests wouldn't run on Windows hosts since they are disabled with REQUIRES:shell.
The failure would be raised with cross building.
llvm-svn: 242984
|
| |
|
|
|
|
|
|
| |
While theoratically required in pre-C++11 to avoid re-allocation upon call,
C++11 guarantees that c_str() returns a pointer to the internal array so
pre-calling c_str() is no longer required.
llvm-svn: 242983
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Straight-line optimizations can simplify the loop body and make LSR's
cost analysis more precise. This significantly improves several Eigen3
CUDA benchmarks.
With this change, EigenContractionKernel runs up to 40% faster
(https://bitbucket.org/eigen/eigen/src/753ceee5f206ff7dde9f6a41a5a420749fc9406f/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h?at=default#cl-502).
EigenConvolutionKernel2D runs up to 10% faster
(https://bitbucket.org/eigen/eigen/src/753ceee5f206ff7dde9f6a41a5a420749fc9406f/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h?at=default#cl-605).
I have some difficulties writing small tests that benefit from this
reordering due to a seemingly issue with LSR (being discussed at
http://lists.cs.uiuc.edu/pipermail/llvmdev/2015-July/088244.html).
See the review thread for the compilation time impact of GVN.
Reviewers: eliben, jholewinski
Subscribers: llvm-commits, jholewinski
Differential Revision: http://reviews.llvm.org/D11304
llvm-svn: 242982
|
| |
|
|
| |
llvm-svn: 242981
|
| |
|
|
|
|
|
|
| |
overloaded.
Suggested by Richard Smith.
llvm-svn: 242980
|
| |
|
|
| |
llvm-svn: 242979
|
| |
|
|
|
|
| |
Breaks Mac build.
llvm-svn: 242978
|
| |
|
|
| |
llvm-svn: 242977
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This takes the operation of merging a callee's information into the
current information and embeds it into the FunctionInfo type itself.
This is much cleaner as now we don't need to expose iteration of the
globals, etc.
Also, switched all the uses of a raw integer two maintain the mod/ref
info during the SCC walk into just directly manipulating it in the
FunctionInfo object.
llvm-svn: 242976
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, Android target had a logic of duplicating all sanitizer
output to logcat. This change extends it to all posix platforms via
the use of syslog, controlled by log_to_syslog flag. Enabled by
default on Android, off everywhere else.
A bit of cmake magic is required to allow Printf() to call a libc
function. I'm adding a stub implementation to support no-libc builds
like dfsan and safestack.
llvm-svn: 242975
|
| |
|
|
|
|
|
|
|
|
|
| |
typed interface as a precursor to rewriting how it is stored.
This way we know that the access paths are controlled and it should be
easy to store these bits in a different way.
No functionality changed.
llvm-svn: 242974
|
| |
|
|
|
|
|
|
| |
(PR24215)
The code will still work as it can reference the function via its thunk.
llvm-svn: 242973
|
| |
|
|
|
|
|
|
| |
return value tests. These were failing on x86_64 and i386.
It also pointed out an error in our return values where the ABI only relies on xmm registers, not ymm registers for vector return types.
llvm-svn: 242972
|
| |
|
|
|
|
|
|
| |
This makes it possible to use EHPersonality in other parts of CodeGen.
Differential Revision: http://reviews.llvm.org/D11440
llvm-svn: 242971
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MSVC 2013 ships, as part of its STL implementation, a class named
'_Atomic'. This is unfortunate because this keyword is in conflict with
the C11 keyword with the same name. Our solution was to disable this
keyword when targeting MSVC 2013 and reenable it for 2015.
However, this makes it impossible for clang's headers to make use of
_Atomic. This is problematic in the case of libc++ as it makes heavy
use of this keyword.
Let the keywordness of _Atomic float under certain circumstances:
the body of a class named _Atomic, or a class with a base specifier
named _Atomic, will not have the keyword variant of _Atomic for the
duration of the class body. This is sufficient to allow us to correctly
handle _Atomic in the STL while permitting us to use _Atomic as a
keyword everywhere else.
Differential Revision: http://reviews.llvm.org/D11233
llvm-svn: 242970
|
| |
|
|
|
|
| |
won't be able to tell from the symbol value alone what language the symbol is.
llvm-svn: 242969
|
| |
|
|
|
|
|
|
|
|
| |
packet so that debugserver will send a reply like
name:debugserver;version:340.99;
<rdar://problem/21933963>
llvm-svn: 242968
|
| |
|
|
| |
llvm-svn: 242967
|
| |
|
|
| |
llvm-svn: 242966
|
| |
|
|
|
|
|
|
|
| |
The debug map contains the timestamp of the object files in references.
We do not check these in the general case, but it's really useful if
you have archives where different versions of an object file have been
appended. This allows llvm-dsymutil to find the right one.
llvm-svn: 242965
|
| |
|
|
|
|
|
|
|
|
| |
interface prior to making more substantial and invasive changes.
No functionality changed, and should hopefully keep subsequent patches
as clean and focused as possible in addition to making the comments and
such more clear.
llvm-svn: 242964
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
preparation for de-coupling the AA implementations.
In order to do this, they had to become fake-scoped using the
traditional LLVM pattern of a leading initialism. These can't be actual
scoped enumerations because they're bitfields and thus inherently we use
them as integers.
I've also renamed the behavior enums that are specific to reasoning
about the mod/ref behavior of functions when called. This makes it more
clear that they have a very narrow domain of applicability.
I think there is a significantly cleaner API for all of this, but
I don't want to try to do really substantive changes for now, I just
want to refactor the things away from analysis groups so I'm preserving
the exact original design and just cleaning up the names, style, and
lifting out of the class.
Differential Revision: http://reviews.llvm.org/D10564
llvm-svn: 242963
|
| |
|
|
| |
llvm-svn: 242960
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation of mem_fn doesn't actually require any C++11 support.
For some reason there were 17 overloads for mem_fn in C++03 when only one
is needed. This patch removes the extra overloads and uses the same implementation
of mem_fn in C++03 and C++11.
__mem_fn does require variadics to implement the call operator. Instead of
having two entirely different implementations of the __mem_fn struct, this patch
uses the same __mem_fn struct but provides different call operators when
variadics are not available.
The only thing left in <__functional_03> is the C++03 implementation of
std::function.
llvm-svn: 242959
|
| |
|
|
|
|
|
|
|
| |
Windows 8 users report that it isn't present in the address space by
default anymore.
Fixes PR23773.
llvm-svn: 242958
|
| |
|
|
|
|
|
| |
Instead of using CPlusPlus, use Bool. No functionality change is
intended, it just makes things a tad bit more clear.
llvm-svn: 242957
|
| |
|
|
|
|
|
|
|
| |
This replaces the next-to-last std::map with a DenseMap. While DenseMap
doesn't yet make tons of sense (there are 32 bytes or so in the value
type), my next change will reduce the value type to a single pointer --
we only need a pointer and 3 bits, and that is exactly what we can have.
llvm-svn: 242956
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The MSVC ABI requires that we generate an alias for the vtable which
means looking through a GlobalAlias which cannot be overridden improves
our ability to devirtualize.
Found while investigating PR20801.
Patch by Andrew Zhogin!
Differential Revision: http://reviews.llvm.org/D11306
llvm-svn: 242955
|
| |
|
|
|
|
| |
This reverts commit 0a9dee959a30b81b9e7df64c9a58ff9898c24024.
llvm-svn: 242954
|
| |
|
|
|
|
|
|
| |
don't like it"
This reverts commit fc2dad0c68f8d32273d3c2d790ed496961f829af.
llvm-svn: 242953
|