| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: If SROA creates only one piece (e.g. because the other is not needed),
it still needs to create a bit_piece expression if that bit piece is smaller
than the original size of the alloca.
Reviewers: aprantl
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16187
llvm-svn: 257795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since r230276, we support an improved legalization for f64->f16,
which goes through a temporary f32, improving codegen when
f32->f16 is legal but not f64->f16. This requires unsafe-fp-math.
However, that legalization assumed that the second step, producing
a pseudo-softened f16, had type i16. That's not true on targets
with illegal i16, such as ARM.
Use the initial f64->f16 result type instead.
llvm-svn: 257794
|
|
|
|
|
|
| |
currently
llvm-svn: 257793
|
|
|
|
|
|
|
|
|
|
| |
Soon it will be responsible for more than line tables.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D16199
llvm-svn: 257792
|
|
|
|
|
|
|
| |
It's broken. In 3.7 there wasn't a CMake build for test-suite at all,
so we're not losing something we had before.
llvm-svn: 257791
|
|
|
|
| |
llvm-svn: 257790
|
|
|
|
|
|
|
|
|
|
|
| |
This flag allows to disable old way of determining dynamic TLS by
filtering out allocations from dynamic linker. This will be eventually
superseded by __tls_get_addr interceptor (see r257785), after we:
1) Test it in several supported environments
2) Deal with existing problems (currently we can't find a pointer to
DTV which is calloc()-ed in pthread_create).
llvm-svn: 257789
|
|
|
|
|
|
|
| |
I was calling the base class tearDown() function the wrong way
which for some reason is ok on Python 3 but not on Python 2.
llvm-svn: 257788
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: The dbg.declare -> dbg.value conversion did not check which operand of
the store instruction the alloca was passed to. As a result code that stored the
address of an alloca, rather than storing to the alloca, would still trigger
the conversion routine, leading to the insertion of an incorrect dbg.value
intrinsic.
Reviewers: aprantl
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16169
llvm-svn: 257787
|
|
|
|
|
|
| |
This can happen with -gmodules tables when an anonymous struct is referred to.
llvm-svn: 257786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
We have a way to keep track of allocated DTLS segments: let's use it
in LSan. Although this code is fragile and relies on glibc
implementation details, in some cases it proves to be better than
existing way of tracking DTLS in LSan: marking as "reachable" all
memory chunks allocated directly by "ld".
The plan is to eventually get rid of the latter, once we are sure
it's safe to remove.
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16164
llvm-svn: 257785
|
|
|
|
|
|
| |
rdar://problem/22823264
llvm-svn: 257784
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With COMPILER_RT_INCLUDE_TESTS turned ON and in a cross compiling
environment, the unit tests fail to link. This patch does the following changes
>Rename COMPILER_RT_TEST_CFLAGS to COMPILER_RT_UNITTEST_CFLAGS to reflect the
way it's used.
>Add COMPILER_RT_TEST_COMPILER_CFLAGS to COMPILER_RT_UNITTEST_CFLAGS so
that cross-compiler would be able to build/compile the unit tests
>Add COMPILER_RT_UNITTEST_LINKFLAGS to COMPILER_RT_UNITTEST_CFLAGS so
that cross-compiler would be able to link the unit tests (if needed)
Differential Revision: http://reviews.llvm.org/D16165
llvm-svn: 257783
|
|
|
|
|
|
|
| |
1. One test covering coverage-mapping interfaction with linker GC
2. one test covering coverage-mapping with shared libaries
llvm-svn: 257782
|
|
|
|
|
|
|
|
|
|
|
| |
Coverage mapping data is not referenced by runtime, and they won't be dumped
into profile data. There is no need to allocate memory for covmap sections.
A good side effect of this change is that the coverage map data won't be mistakenly
garbage collected by the linker (for Gold linker only, BFD linker has an issue where the a bug is filed).
Tested with clang build with instrumentation and -fcoverage-mapping and linker GC. The size of
covmap section is ~17.6M so the text segment size will be reduced by this amount with this change.
llvm-svn: 257781
|
|
|
|
| |
llvm-svn: 257780
|
|
|
|
| |
llvm-svn: 257778
|
|
|
|
| |
llvm-svn: 257777
|
|
|
|
|
|
|
|
| |
These fields are almost always zero. However, there are relocations
against them, and we should print the relocation symbol with it as
SYM+0xNN.
llvm-svn: 257776
|
|
|
|
|
|
|
|
| |
platforms."
This reverts commit r257719, due to PR26144.
llvm-svn: 257775
|
|
|
|
| |
llvm-svn: 257774
|
|
|
|
|
|
| |
This reverts commit r257769. Backing this out because of stage2 failures.
llvm-svn: 257773
|
|
|
|
|
|
| |
This patch adds a hook to track kernel invocations and to track all script and allocation objects used.
llvm-svn: 257772
|
|
|
|
| |
llvm-svn: 257771
|
|
|
|
| |
llvm-svn: 257770
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some patterns of select+compare allow us to know exactly the value of the uppermost bits in the select result. For example:
%b = icmp ugt i32 %a, 5
%c = select i1 %b, i32 2, i32 %a
Here we know that %c is bounded by 5, and therefore KnownZero = ~APInt(5).getActiveBits() = ~7.
There are several such patterns, and this patch attempts to understand a reasonable subset of them - namely when the base values are the same (as above), and when they are related by a simple (add nsw), for example (add nsw %a, 4) and %a.
llvm-svn: 257769
|
|
|
|
| |
llvm-svn: 257768
|
|
|
|
|
|
| |
Loop trip counts can often be resolved during LTO. We should obviously be unrolling small loops once those trip counts have been resolved, but we weren't.
llvm-svn: 257767
|
|
|
|
|
|
| |
No functional change intended.
llvm-svn: 257766
|
|
|
|
| |
llvm-svn: 257765
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Phabricator to trunk.
The previous documentation had a few issues:
* It did not make it explicit that code could be
committed without using the Arcanist tool and how this should be done.
* There was also an implicit assumption on using Subversion
rather than git-svn in the example using Arcanist. The documentation now
explicitly mentions both cases and details how to commit to trunk in
each case.
Reviewers: klimek, probinson
Subscribers: probinson, nwilson, reames, llvm-commits
Differential Revision: http://reviews.llvm.org/D15801
llvm-svn: 257764
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
aaaa[bbbb]
.cccc();
After:
aaaa[bbbb].cccc();
llvm-svn: 257763
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: vkalintiris, dsanders
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D15070
llvm-svn: 257762
|
|
|
|
| |
llvm-svn: 257761
|
|
|
|
|
|
|
|
| |
On OS X, TSan already passes all unit and lit tests, but for real-world applications (even very simple ones), we currently produce a lot of false positive reports about data races. This makes TSan useless at this point, because the noise dominates real bugs. This introduces a runtime flag, "ignore_interceptors_accesses", off by default, which makes TSan ignore all memory accesses that happen from interceptors. This will significantly lower the coverage and miss a lot of bugs, but it eliminates most of the current false positives on OS X.
Differential Revision: http://reviews.llvm.org/D15189
llvm-svn: 257760
|
|
|
|
|
|
|
|
|
|
| |
Both llvm and clang have an ArrayType class, which can cause resolution to fail when llvm headers that are implicitly included name this type.
source/Symbol/ClangASTContext.cpp has 'using namespace llvm;' and 'using namespace clang;'
Author: Luke Drummond <luke.drummond@codeplay.com>
Differential Revision: http://reviews.llvm.org/D16155
llvm-svn: 257759
|
|
|
|
|
|
|
|
| |
The value of the constant PTHREAD_MUTEX_RECURSIVE is not "1" on FreeBSD and OS X.
Differential Revision: http://reviews.llvm.org/D16075
llvm-svn: 257758
|
|
|
|
| |
llvm-svn: 257757
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D16138
llvm-svn: 257756
|
|
|
|
| |
llvm-svn: 257755
|
|
|
|
|
|
|
|
|
|
|
| |
Proper diagnostic and resolution of mangled names' conflicts in variables.
When there is a declaration and a definition using the same name but different
types, we emit what is in the definition. When there are two conflicting
definitions, we issue an error.
Differential Revision: http://reviews.llvm.org/D15686
llvm-svn: 257754
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--eh-frame-hdr
Request creation of ".eh_frame_hdr" section and ELF "PT_GNU_EH_FRAME" segment header.
Both gold and the GNU linker support an option --eh-frame-hdr which tell them to construct a header for all the .eh_frame sections. This header is placed in a section named .eh_frame_hdr and also in a PT_GNU_EH_FRAME segment. At runtime the unwinder can find all the PT_GNU_EH_FRAME segments by calling dl_iterate_phdr.
This section contains a lookup table for quick binary search of FDEs.
Detailed info can be found here:
http://www.airs.com/blog/archives/462
Differential revision: http://reviews.llvm.org/D15712
llvm-svn: 257753
|
|
|
|
| |
llvm-svn: 257752
|
|
|
|
|
|
| |
This reverts commit fdb838f3f8a8b6896bbbd5285555874eb3b748eb.
llvm-svn: 257751
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Since globals may escape as function arguments (even when they have been
found to be non-escaping, because of optimizations such as memcpyoptimizer
that replaces stores with memcpy), all arguments to a function are checked
during query to make sure they are identifiable. At that time, also ensure
we return a conservative result only if the arguments don't alias to our global.
Reviewers: hfinkel, jmolloy
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16140
llvm-svn: 257750
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D16142
llvm-svn: 257749
|
|
|
|
| |
llvm-svn: 257748
|
|
|
|
|
|
| |
Use an unsigned literal to avoid signedness mismatch in the compare.
llvm-svn: 257747
|
|
|
|
| |
llvm-svn: 257746
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The overloads of CallInst::Create and InvokeInst::Create that are used to
adjust operand bundles purport to create a new instruction "identical in
every way except [for] the operand bundles", so copy the DebugLoc along
with everything else.
Reviewers: sanjoy, majnemer
Subscribers: majnemer, dblaikie, llvm-commits
Differential Revision: http://reviews.llvm.org/D16157
llvm-svn: 257745
|