| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
This reverts commit 9c7c10e4073a0bc6a759ce5cd33afbac74930091.
It relies on r335872 since that introduces the machine outliner
flags test. I meant to commit D48683 in that commit, but got mixed
up and committed D48682 instead. So, I'm reverting this and
r335872, since D48682 hasn't made it through review yet.
llvm-svn: 335882
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D48697
llvm-svn: 335881
|
| |
|
|
|
|
|
|
| |
That's where CUDA binaries appear to put them.
Differential Revision: https://reviews.llvm.org/D48615
llvm-svn: 335880
|
| |
|
|
|
|
|
|
|
|
|
| |
We shouldn't add the outliner when compiling at -O0 even if
-enable-machine-outliner is passed in. This makes sure that we
don't add it in this case.
This also updates machine-outliner-flags to reflect the change
and improves the comment describing what that test does.
llvm-svn: 335879
|
| |
|
|
|
|
|
|
|
|
| |
This change effects the behavior of --export-all. Previously
--export-all would only effect symbols that survived GC. Now
--export-all will prevent any non-local symbols from being GCed.
Differential Revision: https://reviews.llvm.org/D48673
llvm-svn: 335878
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add NoTrapAfterNoreturn target option which skips emission of traps
behind noreturn calls even if TrapUnreachable is enabled.
Enable the feature on Mach-O to save code size; Comments suggest it is
not possible to enable it for the other users of TrapUnreachable.
rdar://41530228
DifferentialRevision: https://reviews.llvm.org/D48674
llvm-svn: 335877
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
function with a non-recognized delimiter
Summary:
This stops clang-format from touching raw string contents with unrecognized delimiters inside recognized functions.
Unrecognized delimiters signal that the string might be special.
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D48728
llvm-svn: 335876
|
| |
|
|
|
|
|
|
|
|
|
| |
Function symbols that come from bitcode have not signatures.
After LTO when the real symbols are read in we need to make
sure that we set the signature on the existing symbol.
the signature-less undefined functions.
Differential Revision: https://reviews.llvm.org/D48693
llvm-svn: 335875
|
| |
|
|
| |
llvm-svn: 335874
|
| |
|
|
| |
llvm-svn: 335873
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
To enable the MachineOutliner by default on AArch64, we need to be able to
disable the MachineOutliner and also provide an option to "always" enable the
outliner.
This adds that capability. It allows the user to still use the old
-enable-machine-outliner option, which defaults to "always". This is building
up to allowing the user to specify "always" versus the target-default
outlining behaviour.
llvm-svn: 335872
|
| |
|
|
|
|
|
|
| |
This reverts commit r335821.
This crashes the webassembly test, run "ninja check-llvm-codegen-webassembly" to reproduce.
llvm-svn: 335871
|
| |
|
|
|
|
| |
We should be ensuring we have (near) complete test coverage of instructions, at least for the generic model.
llvm-svn: 335870
|
| |
|
|
|
|
| |
We should be ensuring we have (near) complete test coverage of instructions, at least for the generic model.
llvm-svn: 335869
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This allows hoisting of a common code, for instance if denominator
is loop invariant. Current change is expansion only, adding licm to
the target pass list going to be a separate patch. Given this patch
changes to codegen are minor as the expansion is similar to that on
DAG. DAG expansion still must remain for R600.
Differential Revision: https://reviews.llvm.org/D48586
llvm-svn: 335868
|
| |
|
|
|
|
|
|
|
|
|
| |
This patch introduces a new class named WriteRef. A WriteRef is used by the
RegisterFile to keep track of register definitions. Internally it wraps a
WriteState, as well as the source index of the defining instruction.
This patch allows the tool to propagate additional information to support future
analysis on data dependencies.
llvm-svn: 335867
|
| |
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D48677
llvm-svn: 335866
|
| |
|
|
| |
llvm-svn: 335865
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Control flow guard works best when targets it checks are 16-byte aligned.
Microsoft's link.exe helps ensure this by aligning code from sections
that are referenced from the gfids table to 16 bytes when linking with
-guard:cf, even if the original section specifies a smaller alignment.
This change implements that behavior in lld-link.
See https://crbug.com/857012 for more details.
Reviewers: ruiu, hans, thakis, zturner
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D48690
llvm-svn: 335864
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This addresses https://bugs.llvm.org/show_bug.cgi?id=37467.
Reviewers: klimek, ilya-biryukov, lebedev.ri, aaron.ballman
Reviewed By: lebedev.ri, aaron.ballman
Subscribers: aaron.ballman, lebedev.ri, xazax.hun, cfe-commits
Differential Revision: https://reviews.llvm.org/D46951
llvm-svn: 335863
|
| |
|
|
|
|
| |
This should fix a sanitizer buildbot failure.
llvm-svn: 335862
|
| |
|
|
| |
llvm-svn: 335861
|
| |
|
|
|
|
|
| |
Use the UnitListTy typedef consistently throughout the Dwarf linker and
pass it by const reference where possible.
llvm-svn: 335860
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
To successfully open a core file, we need to have LLVM built with
support for the relevant target. Right now, if one does not have the
appropriate targets configured, the tests will fail.
This patch uses the GetBuildConfiguration SB API to inform the test (and
anyone else who cares) about the list of supported LLVM targets. The
test then uses this information to approriately skip the tests.
Reviewers: clayborg, jingham
Subscribers: martong, lldb-commits
Differential Revision: https://reviews.llvm.org/D48641
llvm-svn: 335859
|
| |
|
|
| |
llvm-svn: 335858
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This pass is being added in order to make the information available to BasicAA,
which can't do caching of this information itself, but possibly this information
may be useful for other passes.
Incorporates code based on Daniel Berlin's implementation of Tarjan's algorithm.
Differential Revision: https://reviews.llvm.org/D47893
llvm-svn: 335857
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Base GNU ld is pretty ancient and does not support --dynamic-list flag.
For conveniency, we can it automatically when compile with ubsan sanitizer flag.
Reviewers: dberris
Reviewed by: dberris
Differential Revision: https://reviews.llvm.org/D48574
llvm-svn: 335856
|
| |
|
|
|
|
|
|
|
| |
The following line of code was untested:
https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L94
Patch adds a test case.
llvm-svn: 335855
|
| |
|
|
|
|
|
|
| |
Old GCCs have an annoying bug where RVO disables the automatic
conversion to base for unique_ptr. Add a pessimizing std::move as a
workaround.
llvm-svn: 335854
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ODRHash aims to provide Cross-TU stable hashing. Making clang::Type pointer
part of the hash connects (remotely) the ODRHash with the TU-specific
::Profile hasher.
r332281 exposed the issue by changing the way the ASTContext different
elaborated types if there is an owning tag. In that case, ODRHash stores two
different types in its TypeMap which yields false ODR violation in modules.
The current state of implementation shouldn't need the TypeMap concept
anymore. Rip it out.
Differential Revision: https://reviews.llvm.org/D48524
llvm-svn: 335853
|
| |
|
|
|
|
|
| |
This is to test the following line that was uncovered by LLD test cases yet:
https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L149
llvm-svn: 335852
|
| |
|
|
|
|
|
|
| |
Frequency Info."
This reverts commits r335794 and r335797. Breaks ThinLTO+FDO selfhost.
llvm-svn: 335851
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Armv6 introduced instructions to perform 32-bit SIMD operations. The purpose of
this pass is to do some straightforward IR pattern matching to create ACLE DSP
intrinsics, which map on these 32-bit SIMD operations.
Currently, only the SMLAD instruction gets recognised. This instruction
performs two multiplications with 16-bit operands, and stores the result in an
accumulator. We will follow this up with patches to recognise SMLAD in more
cases, and also to generate other DSP instructions (like e.g. SADD16).
Patch by: Sam Parker and Sjoerd Meijer
Differential Revision: https://reviews.llvm.org/D48128
llvm-svn: 335850
|
| |
|
|
|
|
|
|
|
| |
not supported" error.
It is https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L144,
and we had no test case to cover it.
llvm-svn: 335849
|
| |
|
|
|
|
| |
fact. NFC
llvm-svn: 335848
|
| |
|
|
|
|
|
| |
It's https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L147 line,
which was untested before this patch.
llvm-svn: 335847
|
| |
|
|
| |
llvm-svn: 335846
|
| |
|
|
| |
llvm-svn: 335845
|
| |
|
|
|
|
| |
This reverts commit r335839, because it breaks the MSVC build.
llvm-svn: 335844
|
| |
|
|
|
|
| |
backticks to silence the warning; NFC.
llvm-svn: 335843
|
| |
|
|
|
|
| |
fixes a Sphinx build warning; NFC.
llvm-svn: 335842
|
| |
|
|
| |
llvm-svn: 335841
|
| |
|
|
|
|
|
|
|
|
| |
This test case adds test for the line that was uncovered previously:
https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L175
it errors out, but we now can test that we have expected flow,
which is different for CIE of version 1 and CIE of version 3.
llvm-svn: 335840
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This allows the implicit ArrayRef conversions to kick in when e.g.
comparing ArrayRef to a SmallVector.
Reviewers: zturner, dblaikie
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D48632
llvm-svn: 335839
|
| |
|
|
|
|
|
|
|
| |
It was https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L195
and we did not cover it with test.
Patch fixes it.
llvm-svn: 335838
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Rather than calling std::find in a loop, just sort the vector and remove
duplicate entries at the end of the function.
Also, move the debug print at the end of the function, and query the
MCRegisterInfo to print register names rather than physreg IDs.
No functional change intended.
llvm-svn: 335837
|
| |
|
|
|
|
|
|
|
|
| |
By recomputing CompilerInvocation instead of copying it.
The problem was caused by the fact that copies of CompilerInvocation
store references to the shared state (DiagnosticOptions) when copied,
causing data races when two different copies are destroyed from
different threads.
llvm-svn: 335836
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
ahead-of-begin checks
Add handling of the begin() funcion of containers to the iterator checkers,
together with the pre- and postfix ++ and -- operators of the iterators. This
makes possible the checking of iterators dereferenced ahead of the begin of the
container.
Differential Revision: https://reviews.llvm.org/D32642
llvm-svn: 335835
|
| |
|
|
|
|
| |
Follow-up commit for r335757 to address some inconsistencies.
llvm-svn: 335834
|
| |
|
|
|
|
|
|
|
| |
It is the following line:
https://github.com/llvm-mirror/lld/blob/master/ELF/EhFrame.cpp#L120
We did not cover it yet.
llvm-svn: 335833
|