| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This change adds sanitizer support for LLVM's libunwind and libc++abi
as an alternative to libstdc++. This allows using the in tree version
of libunwind and libc++abi which is useful when building a toolchain
for different target.
Differential Revision: https://reviews.llvm.org/D34501
llvm-svn: 309074
|
| |
|
|
| |
llvm-svn: 309073
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
`SCEVUnknown::allUsesReplacedWith` does not need to call `forgetMemoizedResults`
since RAUW does a value-equivalent replacement by assumption. If this
assumption was false then the later setValPtr(New) call would be incorrect too.
This is a non-trivial performance optimization for functions with a large number
of loops since `forgetMemoizedResults` walks all loop backedge taken counts to
see if any of them use the SCEVUnknown being RAUWed. However, this improvement
is difficult to demonstrate without checking in an excessively large IR file.
llvm-svn: 309072
|
| |
|
|
| |
llvm-svn: 309071
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously were in support. Since many many things depend on support,
were all forced to also depend on libxml2, which we only want in a few cases.
This puts all the libxml2 deps in a separate lib to be used only in a few
places.
Reviewers: ruiu, thakis, rnk
Subscribers: mgorny, hiraditya, llvm-commits
Differential Revision: https://reviews.llvm.org/D35819
llvm-svn: 309070
|
| |
|
|
| |
llvm-svn: 309069
|
| |
|
|
|
|
|
|
| |
applicable to any acceleration table. Added verification for .apple_types, .apple_namespaces and .apple_objc sections.
Differential Revision: https://reviews.llvm.org/D35853
llvm-svn: 309068
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Do not issue fixit in UnnecessaryValueParamCheck if the function is an explicit template specialization as this could cause build breakages.
Reviewers: alexfh
Subscribers: JDevlieghere, xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D35718
llvm-svn: 309067
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PDB "symbol stream" actually contains symbol records for the publics
and the globals stream. The globals and publics streams are essentially
hash tables that point into a single stream of records. In order to
match cvdump's behavior, we need to only dump symbol records referenced
from the hash table. This patch implements that, and then implements
global stream dumping, since it's just a subset of public stream
dumping.
Now we shouldn't see S_PROCREF or S_GDATA32 records when dumping
publics, and instead we should see those record in the globals stream.
llvm-svn: 309066
|
| |
|
|
|
|
|
|
|
|
| |
namespaces.
This time with correct #if.
This reverts commit 9cf4eca0e0383040c1ff1416815c7f649650c2a0.
llvm-svn: 309064
|
| |
|
|
|
|
| |
warnings; other minor fixes (NFC).
llvm-svn: 309062
|
| |
|
|
| |
llvm-svn: 309061
|
| |
|
|
|
|
|
|
|
| |
This change adds support for compiler-rt builtins as an alternative
compiler runtime to libgcc.
Differential Revision: https://reviews.llvm.org/D35165
llvm-svn: 309060
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
with undef.
This is a workaround for the bug described in PR31652 and
http://lists.llvm.org/pipermail/llvm-dev/2017-July/115497.html. The temporary
solution is to add a function EqualityPropUnSafe. In EqualityPropUnSafe, for
some simple patterns we can know the equality comparison may contains undef,
so we regard such comparison as unsafe and will not do loop-unswitching for
them. We also need to disable the select simplification when one of select
operand is undef and its result feeds into equality comparison.
The patch cannot clear the safety issue caused by the bug, but it can suppress
the issue from happening to some extent.
Differential Revision: https://reviews.llvm.org/D35811
llvm-svn: 309059
|
| |
|
|
|
|
|
|
|
|
|
|
| |
std::byte, when defined as an enum, needs to be given special treatment
with regards to its aliasing properties. An array of std::byte is
allowed to be used as storage for other types.
This fixes PR33916.
Differential Revision: https://reviews.llvm.org/D35824
llvm-svn: 309058
|
| |
|
|
|
|
| |
This reapplies commit r309034 with a bugfix+test for inlined variables.
llvm-svn: 309057
|
| |
|
|
|
|
|
|
|
|
| |
This is needed, among others, to respect --section-ordering-file
with LTO. I'll follow up with a similar change for data sections.
I hope every version of gold available on the bots has support for
--section-ordering file.
llvm-svn: 309056
|
| |
|
|
|
|
|
| |
Since the flag is ignored anyway, it doesn't matter whether
it is an alias or not.
llvm-svn: 309055
|
| |
|
|
| |
llvm-svn: 309054
|
| |
|
|
| |
llvm-svn: 309053
|
| |
|
|
|
|
| |
AnalysisManager, to unbreak modules build.
llvm-svn: 309052
|
| |
|
|
| |
llvm-svn: 309051
|
| |
|
|
|
|
|
|
| |
namespaces."
This reverts commit 813308e240792ca70ed2f998f21df24a5061ada0.
llvm-svn: 309050
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: You can now use REQUIRES:abi-breaking-checks in clang too
Reviewers: chapuni, probinson, ddunbar, jroelofs
Reviewed By: jroelofs
Subscribers: jroelofs, cfe-commits
Differential Revision: https://reviews.llvm.org/D35426
llvm-svn: 309049
|
| |
|
|
|
|
|
| |
These can be referenced with __start_/__stop_ symbols. I will try to make
this more precise in a followup patch.
llvm-svn: 309048
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Does a simple merge, where mergeable elements are combined, all others
are appended. Does not apply trickly namespace rules.
Subscribers: llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D35753
llvm-svn: 309047
|
| |
|
|
|
|
| |
rdar://problem/33462362
llvm-svn: 309046
|
| |
|
|
|
|
|
|
| |
started""
This reverts commit 0d9d9250483761eb2f50236830161b0e2137d483.
llvm-svn: 309045
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the incorrect variable reference when invalid redirect is used.
This fixes the following issue:
File "/usr/src/llvm/utils/lit/lit/TestRunner.py", line 316, in processRedirects
raise InternalShellError(cmd, "Unsupported redirect: %r" % (r,))
UnboundLocalError: local variable 'r' referenced before assignment
which in turn broke shtest-shell.py and max-failures.py lit tests.
The breakage was introduced during refactoring in rL307310.
Differential Revision: https://reviews.llvm.org/D35857
llvm-svn: 309044
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed on llvm-dev I've implemented the first basic steps towards
llvm-objcopy/llvm-objtool (name pending).
This change adds the ability to copy (without modification) 64-bit
little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS,
SHT_NULL and SHT_STRTAB sections.
Patch by Jake Ehrlich
Differential Revision: https://reviews.llvm.org/D33964
llvm-svn: 309043
|
| |
|
|
| |
llvm-svn: 309042
|
| |
|
|
| |
llvm-svn: 309041
|
| |
|
|
|
|
|
|
|
|
|
| |
It seems I still had some incomplete changes in the tree when committing.
In general, we only import changes from isl upstream. In this case, the
changes were especially unfortunate, as they broke the error management
in isl_flow.c and consequently caused regressions.
Thanks to Michael Kruse for spotting this mistake.
llvm-svn: 309039
|
| |
|
|
|
|
| |
cause false positives in msan. No tests for libFuzzer+msan yet -- tests will need to wait until we move libFuzzer to compiler-rt
llvm-svn: 309038
|
| |
|
|
|
|
|
|
| |
started""
This reverts commit 960873b10dd071298c817ba74ef2228f94ead7a1.
llvm-svn: 309037
|
| |
|
|
| |
llvm-svn: 309036
|
| |
|
|
|
|
| |
This reverts commit r309034 because of a sanitizer issue.
llvm-svn: 309035
|
| |
|
|
|
|
| |
<rdar://problem/17816343>
llvm-svn: 309034
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Previously we were rounding up the size passed to `pvalloc` to the next
multiple of page size no matter what. There is an overflow possibility that
wasn't accounted for. So now, return null in the event of an overflow. The man
page doesn't seem to indicate the errno to set in this particular situation,
but the glibc unit tests go for ENOMEM (https://code.woboq.org/userspace/glibc/malloc/tst-pvalloc.c.html#54)
so we'll do the same.
Update the aligned allocation funtions tests to check for properly aligned
returned pointers, and the `pvalloc` corner cases.
@alekseyshl: do you want me to do the same in the other Sanitizers?
Reviewers: alekseyshl
Reviewed By: alekseyshl
Subscribers: kubamracek, alekseyshl, llvm-commits
Differential Revision: https://reviews.llvm.org/D35818
llvm-svn: 309033
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed on llvm-dev I've implemented the first basic steps towards
llvm-objcopy/llvm-objtool (name pending).
This change adds the ability to copy (without modification) 64-bit
little endian ELF executables that have SHT_PROGBITS, SHT_NOBITS,
SHT_NULL and SHT_STRTAB sections.
Patch by Jake Ehrlich
Differential Revision: https://reviews.llvm.org/D33964
llvm-svn: 309032
|
| |
|
|
|
|
|
|
| |
Make sure multiple targets don't get rebuilt unnecessarily when LLVM_APPEND_VC_REV = OFF.
Differential Revision: https://reviews.llvm.org/D35377
llvm-svn: 309031
|
| |
|
|
|
|
| |
Fixing the mismatched beginning if and endif contents.
llvm-svn: 309030
|
| |
|
|
|
|
| |
This patch allows TableGen.cmake to be safely included multiple times in sub-projects.
llvm-svn: 309029
|
| |
|
|
|
|
|
|
| |
Patch by: Axel Davy
Differential Revision: https://reviews.llvm.org/D34967
llvm-svn: 309028
|
| |
|
|
|
|
|
|
| |
Patch by: Axel Davy
Differential Revision: https://reviews.llvm.org/D34965
llvm-svn: 309027
|
| |
|
|
|
|
|
|
| |
When building for iOS we build two variants of debugserver. One which supports UI functionality like Springboard for launching applications, and one which does not.
This patch adds support for building debugserver with and without UI support libraries being available.
llvm-svn: 309026
|
| |
|
|
|
|
| |
On iOS frameworks don't have versions or resources, they are flatter bundles. This updates the LLDB framework build to accommodate the flatter bundles.
llvm-svn: 309025
|
| |
|
|
|
|
| |
This adds an explicit step for processing the headers and restructures how the framework bundles are constructed. This should make the frameworks more reliably constructed.
llvm-svn: 309024
|
| |
|
|
|
|
| |
The LLDB framework build looks for the swig-generated source in the wrong place. This should resolve that.
llvm-svn: 309023
|
| |
|
|
|
|
| |
This is just setting to the default behavior, so it does nothing.
llvm-svn: 309022
|