| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
This reverts commit r322258: broke the dfsan build.
llvm-svn: 322260
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When setting up the chain, we copy over the bucket's previous symbol
index, assuming that this index will be 0 (STN_UNDEF) for an unused
bucket (marking the end of the chain). When linking with --no-rosegment,
however, unused buckets will in fact contain the padding value, and so
the hash table will end up containing invalid chains. Zero out the hash
table section explicitly to avoid this, similar to what's already done
for GNU hash sections.
Differential Revision: https://reviews.llvm.org/D41928
llvm-svn: 322259
|
| |
|
|
|
|
|
|
|
| |
This is related to moving the sanitizer blacklists to share/
subdirectory.
Differential Revision: https://reviews.llvm.org/D41706
llvm-svn: 322258
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- MSVC uses the none type for a variadic argument in CodeView
- Add a unit test
Reviewers: zturner, llvm-commits
Reviewed By: zturner
Differential Revision: https://reviews.llvm.org/D41931
llvm-svn: 322257
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently these files are being installed into a root installation
directory, but this triggers an error when the installation directory
is set to an empty string which is often the case when DESTDIR is
used to control the installation destination.
Differential Revision: https://reviews.llvm.org/D41673
llvm-svn: 322256
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch enables folding sin(x) / cos(x) -> tan(x), cos(x) / sin(x) -> 1 / tan(x) under -ffast-math flag
Reviewers: hfinkel, spatel
Reviewed By: spatel
Subscribers: andrew.w.kaylor, efriedma, scanon, llvm-commits
Differential Revision: https://reviews.llvm.org/D41286
llvm-svn: 322255
|
| |
|
|
|
|
|
|
| |
If the index is v2i64 we can use the scatter instruction that has v4i32/v4f32 data register, v2i64 index, and v2i1 mask. Similar was already done for gather.
Implement custom widening for v2i32 data to remove the code that reverses type legalization during lowering.
llvm-svn: 322254
|
| |
|
|
|
|
|
|
| |
This is currently not being used so disable it to reduce toolchain size.
Differential Revision: https://reviews.llvm.org/D41929
llvm-svn: 322253
|
| |
|
|
|
|
|
|
| |
llvm-objcopy already supports all the necessary functionality for ELF.
Differential Revision: https://reviews.llvm.org/D41930
llvm-svn: 322252
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When rendezvous structure is not initialized we need to set up
rendezvous breakpoint anyway. In this case the code will locate
dynamic loader (interpreter) and look for known function names.
This is r322209, but with fixed VDSO loading fixed.
Bug: https://bugs.llvm.org/show_bug.cgi?id=25806
Differential Revision: https://reviews.llvm.org/D41533
llvm-svn: 322251
|
| |
|
|
|
|
|
|
|
|
| |
DwarfStringPoolEntry
record.
Differential Revision: https://reviews.llvm.org/D41920
llvm-svn: 322250
|
| |
|
|
| |
llvm-svn: 322249
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The function can take a significant amount of time on some
complicated test cases, but for the currently only use of
the function we can stop the initialization much earlier
when we find out we are going to discard the result anyway
in the caller of the function.
Adding configurable cut-off points so that we avoid wasting time.
NFCI.
llvm-svn: 322248
|
| |
|
|
|
|
| |
to ensure it fits in 8-bits.
llvm-svn: 322247
|
| |
|
|
|
|
| |
match vpshld.
llvm-svn: 322246
|
| |
|
|
|
|
|
|
|
|
| |
the backend.
Similarly, make -mno-fma and -mno-f16c imply -mno-avx512f.
Withou this "-mno-sse -mavx512f" ends up with avx512f being enabled in the frontend but disabled in the backend.
llvm-svn: 322245
|
| |
|
|
|
|
| |
The constant is already reduced to 8-bits by the time we get here and the checks were just ensuring that it was 8 bits. Thus I don't think there's anyway for them to fail.
llvm-svn: 322244
|
| |
|
|
|
|
| |
This reverts commit r322234: this is breaking dfsan tests.
llvm-svn: 322243
|
| |
|
|
|
|
| |
This reverts commit r322233: this is breaking dfsan tests.
llvm-svn: 322242
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Addresses issue: https://bugs.llvm.org/show_bug.cgi?id=34595
The topmost class, `SmallVector`, has internal storage for some
elements; `N - 1` elements' bytes worth of space. Meanwhile a base
class `SmallVectorTemplateCommon` has room for one element as well,
totaling `N` elements' worth of space.
The space for the N elements is contiguous and straddles
`SmallVectorTemplateCommon` and `SmallVector`.
A class "between" those two owning the storage, `SmallVectorImpl`, in
its destructor, calls the destructor for elements contained in the
vector, if any. It uses `destroy_range(begin, end)` and deletes all
items in sequence, starting from the end.
By the time the destructor for `SmallVectorImpl` is running, though, the
memory for elements `[1, N)` is already poisoned, due to `SmallVector`'s
destructor having done its thing already.
So if the element type `T` has a nontrivial destructor that accesses any
members of the `T` instance being destroyed, we'll run into a
user-after-poison bug.
This patch moves the destruction loop into `SmallVector`'s destructor,
so any memory being accessed while dtors are running is not yet
poisoned.
Confirmed this broke before (and now works with this patch) with these
compiler flags:
-fsanitize=memory
-fsanitize-memory-use-after-dtor
-fsanitize-memory-track-origins
and with the cmake flag
`-DLLVM_USE_SANITIZER='MemoryWithOrigins;Undefined'` as well as
`MSAN_OPTIONS=poison_in_dtor=1`.
Patch By: elsteveogrande
Reviewers: eugenis, morehouse, dblaikie
Reviewed By: eugenis, dblaikie
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D41916
llvm-svn: 322241
|
| |
|
|
| |
llvm-svn: 322240
|
| |
|
|
|
|
| |
know how to specifically build a MachO binary on other systems.
llvm-svn: 322239
|
| |
|
|
|
|
|
|
| |
Like rL321668 / rL321672, the planned optimizer change to
fix these will be in ValueTracking, but we can test the
changes cleanly here with AArch64 codegen.
llvm-svn: 322238
|
| |
|
|
|
|
|
|
|
|
|
| |
from being listed as a part of the desktop or
desktop/desktop_no_xpc Targets - they should not be
a part of any target. Having them listed as a part of
desktop target results in them being added to the
Copy Files build phase for desktop and I'm guessing
they'd end up in the manpage directory or something.
llvm-svn: 322237
|
| |
|
|
|
|
| |
member, don't forget to instantiate the initializer too.
llvm-svn: 322236
|
| |
|
|
|
|
| |
That should work everywhere. Then only try actually running on macosx.
llvm-svn: 322235
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently these files are being installed into a root installation
directory, but this triggers an error when the installation directory
is set to an empty string which is often the case when DESTDIR is
used to control the installation destination.
Differential Revision: https://reviews.llvm.org/D41673
llvm-svn: 322234
|
| |
|
|
|
|
|
|
|
| |
This is related to moving the sanitizer blacklists to share/
subdirectory.
Differential Revision: https://reviews.llvm.org/D41706
llvm-svn: 322233
|
| |
|
|
| |
llvm-svn: 322232
|
| |
|
|
|
|
|
|
|
|
|
|
| |
callframes"
Revert for now as the testcase is hitting a pre-existing verifier error
that manifest as a failure when expensive checks are enabled (or
-verify-machineinstrs) is used.
This reverts commit r322200.
llvm-svn: 322231
|
| |
|
|
|
|
|
| |
This function was only called from a single place in which we didn't
even need the `if (DeadRemats)` check.
llvm-svn: 322230
|
| |
|
|
|
|
|
| |
This reverts commit r322209, because it broke
TestNoreturnUnwind,TestInferiorAssert and TestNumThreads on i386.
llvm-svn: 322229
|
| |
|
|
|
|
|
|
|
| |
See http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html
for related discussion and context.
Differential Revision: https://reviews.llvm.org/D41918
llvm-svn: 322228
|
| |
|
|
|
|
|
|
|
|
| |
the MCAsmBackend constructor
After D41349, we can no get a MCSubtargetInfo into the MCAsmBackend constructor. This allows us to get NOPL from a subtarget feature rather than a CPU name blacklist.
Differential Revision: https://reviews.llvm.org/D41721
llvm-svn: 322227
|
| |
|
|
|
|
|
|
| |
Simplify the code slightly: Instead of creating empty subranges in one
case and immediately removing them, do not create them in the first
place.
llvm-svn: 322226
|
| |
|
|
| |
llvm-svn: 322225
|
| |
|
|
|
|
|
|
|
| |
Branch relaxation is needed to support branch displacements that overflow the
instruction's immediate field.
Differential Revision: https://reviews.llvm.org/D40830
llvm-svn: 322224
|
| |
|
|
|
|
|
|
| |
Make sure I really get back to the beahvior before my rewrite in r321035
which turned out not to be completely NFC as I changed the behavior for
the ios simulator environment.
llvm-svn: 322223
|
| |
|
|
|
|
|
|
|
| |
This is a prerequisite for the branch relaxation pass, and allows a number of
optimisation passes (e.g. BranchFolding and MachineBlockPlacement) to work.
Differential Revision: https://reviews.llvm.org/D40808
llvm-svn: 322222
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Enable the compile-time flag -fsanitize-memory-use-after-dtor by
default. Note that the run-time option MSAN_OPTIONS=poison_in_dtor=1
still needs to be enabled for destructors to be poisoned.
Reviewers: eugenis, vitalybuka, kcc
Reviewed By: eugenis, vitalybuka
Subscribers: cfe-commits, llvm-commits
Differential Revision: https://reviews.llvm.org/D37860
llvm-svn: 322221
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The `llvm::OptTable::findNearest` bug fixed in
https://reviews.llvm.org/D41873 manifested itself as the following
erroneous message when invoking Clang:
```
clang -version
clang-6.0: error: unknown argument '-version', did you mean 'version'?
```
Add a test to catch any future regressions to the now correct behavior,
which asks "did you mean '--version'?".
Test Plan: `check-clang`
Reviewers: v.g.vassilev, teemperor, ruiu, jroelofs, yamaguchi
Reviewed By: v.g.vassilev
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D41912
llvm-svn: 322220
|
| |
|
|
|
|
| |
Followup on https://reviews.llvm.org/D41894
llvm-svn: 322219
|
| |
|
|
| |
llvm-svn: 322218
|
| |
|
|
| |
llvm-svn: 322217
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D40807
llvm-svn: 322216
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Includes support for expanding va_copy. Also adds support for using 'aligned'
registers when necessary for vararg calls, and ensure the frame pointer always
points to the bottom of the vararg spill region. This is necessary to ensure
that the saved return address and stack pointer are always available at fixed
known offsets of the frame pointer.
Differential Revision: https://reviews.llvm.org/D40805
llvm-svn: 322215
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Avoid flaky test failures by by using a monotonic number sequence of
heap tags.
Does not affect stack tags: the way we generate those guarantees
uniqueness for at least 30-something first allocas in any function,
as well as the UAR tag.
Reviewers: alekseyshl, kcc
Subscribers: llvm-commits, kubamracek
Differential Revision: https://reviews.llvm.org/D41882
llvm-svn: 322214
|
| |
|
|
| |
llvm-svn: 322213
|
| |
|
|
|
|
|
|
|
| |
Teach each input chunk how to write itself and apply its
own relocations.
Differential Revision: https://reviews.llvm.org/D41891
llvm-svn: 322212
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D41894
llvm-svn: 322211
|