| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 305532
|
| |
|
|
|
|
| |
NFC, just adds a helper function to reduce boilerplate.
llvm-svn: 305531
|
| |
|
|
|
|
|
| |
This is a NFC code refactoring and interface cleanup. This paves the
way to enable outlining-only mode for the partial inliner.
llvm-svn: 305530
|
| |
|
|
| |
llvm-svn: 305529
|
| |
|
|
| |
llvm-svn: 305528
|
| |
|
|
|
|
|
|
| |
NFCI."
This reverts commit r305468, as it caused PR33475.
llvm-svn: 305527
|
| |
|
|
|
|
| |
When dumping module source files, also dump checksums.
llvm-svn: 305526
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: We were using the system compiler to run the test suite.
Reviewers: hansw
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D34246
llvm-svn: 305525
|
| |
|
|
|
|
|
| |
This was regressed in a previous patch that re-wrote the dumper,
and I'm incrementally adding back the pieces that are missing.
llvm-svn: 305524
|
| |
|
|
| |
llvm-svn: 305523
|
| |
|
|
|
|
|
| |
We have to use ASSERT_XXX instead of EXPECT_XXX if the test cannot
continue in the failure case.
llvm-svn: 305522
|
| |
|
|
|
|
| |
cases where libFuzzer is run w/o initial corpus or with a corpus of very small items.
llvm-svn: 305521
|
| |
|
|
| |
llvm-svn: 305520
|
| |
|
|
| |
llvm-svn: 305519
|
| |
|
|
|
|
|
| |
Obviously the paths are going to be machine dependent, so
don't try to match them in the test.
llvm-svn: 305518
|
| |
|
|
|
|
|
|
|
| |
This resubmits commit c0c249e9f2ef83e1d1e5f166b50673d92f3579d7.
It was broken due to some weird template issues, which have
since been fixed.
llvm-svn: 305517
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Re-apply r276044/r279124. Trying to reproduce or disprove the ppc64
problems reported in the stage2 build last time, which I cannot
reproduce right now.
This is a variant of scavengeRegister() that works for
enterBasicBlockEnd()/backward(). The benefit of the backward mode is
that it is not affected by incomplete kill flags.
This patch also changes
PrologEpilogInserter::doScavengeFrameVirtualRegs() to use the register
scavenger in backwards mode.
Differential Revision: http://reviews.llvm.org/D21885
llvm-svn: 305516
|
| |
|
|
| |
llvm-svn: 305515
|
| |
|
|
| |
llvm-svn: 305514
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reset affinity to none (false for proc-bind-var) so that threads in the child
processes are not bound tightly, unless the user explicitly sets this in
KMP_AFFINITY/OMP_PROC_BIND, in child processes. This can improve
performance for scripting languages which fork for parallelism like Python's
multiprocessing module.
Differential Revision: https://reviews.llvm.org/D34154
llvm-svn: 305513
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is probably the main patch left in unifying our intermediary
representation.
It moves the creation of default commands before section sorting. This
has the nice effect that we now have one location where we decide
where an orphan section should be placed.
Before this patch sortSections would decide the relative location of
orphan sections to other sections, but it was up to placeOrphanSection
to decide on the exact location.
We now only sort sections we created since the linker script is
already in the correct order.
llvm-svn: 305512
|
| |
|
|
|
|
|
|
|
|
| |
This commit is a follow up to r302797 which added support for dependent
completions after the '.' and '->' operators. This commit adds support for
dependent completions after the '::' operator.
Differential Revision: https://reviews.llvm.org/D34173
llvm-svn: 305511
|
| |
|
|
| |
llvm-svn: 305510
|
| |
|
|
|
|
| |
instruction count when trying to fold (select (icmp eq (and X, C1), 0), Y, (or Y, C2))->(or (shl (and X, C1), C3), y) when the pieces have multiple uses.
llvm-svn: 305509
|
| |
|
|
|
|
|
|
| |
The global C++17 binding declarations should be indexed as variable symbols.
Differential Revision: https://reviews.llvm.org/D33920
llvm-svn: 305508
|
| |
|
|
|
|
| |
braces to avoid ambiguous 'else'. NFC.
llvm-svn: 305507
|
| |
|
|
|
|
| |
braces to avoid ambiguous 'else'. NFC.
llvm-svn: 305506
|
| |
|
|
|
|
|
|
|
| |
This reverts commit 83ea17ebf2106859a51fbc2a86031b44d33696ad.
This is failing due to some strange template problems, so reverting
until it can be straightened out.
llvm-svn: 305505
|
| |
|
|
|
|
|
|
|
|
| |
static_assert declarations have to be visited while indexing so that we can
gather the references to declarations that are present in their assert
expression.
Differential Revision: https://reviews.llvm.org/D33913
llvm-svn: 305504
|
| |
|
|
|
|
| |
the DWARFVerifier class (as it should).
llvm-svn: 305503
|
| |
|
|
|
|
|
|
|
|
| |
When link is invoked with `/def:` and no input files, it behaves as if
`lib.exe` was invoked. Emulate this behaviour, generating the import
library from the def file that was passed. Because there is no input to
actually generate the dll, we simply process the def file early and exit
once we have created the import library.
llvm-svn: 305502
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Split the PGOMemOPSizeOpt pass out from IndirectCallPromotion.cpp into
its own file.
Reviewers: davidxl
Subscribers: mgorny, llvm-commits
Differential Revision: https://reviews.llvm.org/D34248
llvm-svn: 305501
|
| |
|
|
|
|
| |
unsupported
llvm-svn: 305500
|
| |
|
|
| |
llvm-svn: 305499
|
| |
|
|
|
|
|
|
|
|
|
|
| |
input expression
Reviewers: GorNishanov, rsmith
Reviewed By: GorNishanov
Differential Revision: https://reviews.llvm.org/D34216
llvm-svn: 305498
|
| |
|
|
| |
llvm-svn: 305497
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to compile
Summary:
The title says it all.
Reviewers: GorNishanov, rsmith
Reviewed By: GorNishanov
Subscribers: rjmccall, cfe-commits
Differential Revision: https://reviews.llvm.org/D34194
llvm-svn: 305496
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After some internal discussions, we agreed that the raw output style had
outlived its usefulness. It was originally created before we had even
thought of dumping to YAML, and it was intended to give us some insight
into the internals of a PDB file. Now we have YAML mode which does
almost exactly this but is more powerful in that it can round-trip back
to a PDB, which the raw mode could not do. So the raw mode had become
purely a maintenance burden.
One option was to just delete it. However, its original goal was to be
as readable as possible while staying close to the "metal" - i.e.
presenting the output in a way that maps directly to the underlying file
format. We don't actually need that last requirement anymore since it's
covered by the yaml mode, so we could repurpose "raw" mode to actually
just be as readable as possible.
This patch implements about 80% of the functionality previously in raw
mode, but in a completely different style that is more akin to what
cvdump outputs. Records are very compressed, often times appearing on
just one line. One nice thing about this is that it makes full record
matching easier, because you can grep for indices, names, and leaf types
on a single line often.
See the tests for some examples of what the new output looks like.
Note that this patch actually regresses the functionality of raw mode in
a few areas, but only because the patch was already unreasonably large
and going 100% would have been even worse. Specifically, this patch is
missing:
The ability to dump module debug subsections (checksums, lines, etc)
The ability to dump section headers
Aside from that everything is here. While goign through the tests fixing
them all up, I found many duplicate tests. They've been deleted. In
subsequent patches I will go through and re-add the missing
functionality.
Differential Revision: https://reviews.llvm.org/D34191
llvm-svn: 305495
|
| |
|
|
| |
llvm-svn: 305494
|
| |
|
|
|
|
| |
reference to discourage passing nullptr and to remove the '&' from all of the call sites. NFC
llvm-svn: 305493
|
| |
|
|
| |
llvm-svn: 305492
|
| |
|
|
|
|
|
|
| |
A new LexerTest unittest introduced a memory leak. This patch
uses a unique_ptr with a custom deleter to ensure it is properly
deleted.
llvm-svn: 305491
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add condition for MachineLICM to safely hoist instructions that utilize
non constant registers that are reserved.
On PPC, global variable access is done through the table of contents (TOC)
which is always in register X2. The ABI reserves this register in any
functions that have calls or access global variables.
A call through a function pointer involves saving, changing and restoring
this register around the call and thus MachineLICM does not consider it to
be invariant. We can however guarantee the register is preserved across the
call and thus is invariant.
Differential Revision: https://reviews.llvm.org/D33562
llvm-svn: 305490
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The dynamic type check needs to inspect vtables, but could crash if it
encounters a vtable pointer to inaccessible memory. In the first attempt
to fix the issue (r304437), we performed a memory accessibility check on
the wrong range of memory. This should *really* fix the problem.
Patch by Max Moroz!
Differential Revision: https://reviews.llvm.org/D34215
llvm-svn: 305489
|
| |
|
|
|
|
| |
Silences an unused variable warning in Release builds.
llvm-svn: 305488
|
| |
|
|
|
|
|
|
|
|
|
|
| |
(K1 | K2) when the one of the Ands is commuted relative to the other
Currently we expect A to be on the same side in both Ands but nothing guarantees that.
While there also switch to using matchers for some of the code.
Differential Revision: https://reviews.llvm.org/D34230
llvm-svn: 305487
|
| |
|
|
| |
llvm-svn: 305485
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The code assumed that we process instructions in basic block order. FastISel
processes instructions in reverse basic block order. We need to pre-assign
virtual registers before selecting otherwise we get def-use relationships wrong.
This only affects code with swifterror registers.
rdar://32659327
llvm-svn: 305484
|
| |
|
|
|
|
| |
Forgot to 'git add' the file.
llvm-svn: 305483
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a regular LTO module has a summary index, then instead of linking
it into the combined regular LTO module right away, add it to the
combined summary index and associate it with a special module that
represents the combined regular LTO module.
Any such modules are linked during LTO::run(), at which time we use
the results of summary-based dead stripping to control whether to
link prevailing symbols.
Differential Revision: https://reviews.llvm.org/D33922
llvm-svn: 305482
|