| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 297073
|
| |
|
|
|
|
|
| |
This error can be recovered from by stripping debug info.
This is NFC for +asserts builds.
llvm-svn: 297072
|
| |
|
|
| |
llvm-svn: 297071
|
| |
|
|
|
|
|
|
| |
This adds AArch64 support to recently added part of the runtime responsible for offloading to target. This piece of code allows offloading-to-self on AArch64 machines.
Differential Revision: https://reviews.llvm.org/D30644
llvm-svn: 297070
|
| |
|
|
| |
llvm-svn: 297069
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This patch refactors the DWARFYAML code for dumping compile units to use a visitor pattern. Using this design will, in the future, enable the DWARF YAML code to perform analysis and mutations of the DWARF DIEs. An example of such mutations would be calculating the length of a compile unit and updating the CU's Length field before writing the DIE. This support will make it easier to craft or modify DWARF tests by hand.
Reviewers: lhames
Subscribers: mgorny, fhahn, jgosnell, aprantl, llvm-commits
Differential Revision: https://reviews.llvm.org/D30357
llvm-svn: 297067
|
| |
|
|
| |
llvm-svn: 297066
|
| |
|
|
| |
llvm-svn: 297065
|
| |
|
|
| |
llvm-svn: 297064
|
| |
|
|
|
|
|
|
| |
tools/lld/ELF/Symbols.cpp:215:13: error: unused variable 'S'
[-Werror,-Wunused-variable]
if (auto *S = dyn_cast<SharedSymbol>(this)
llvm-svn: 297063
|
| |
|
|
| |
llvm-svn: 297062
|
| |
|
|
| |
llvm-svn: 297061
|
| |
|
|
|
|
|
|
| |
also exit early on kill instead of redefinition.
Differential Revision: https://reviews.llvm.org/D30230
llvm-svn: 297060
|
| |
|
|
| |
llvm-svn: 297059
|
| |
|
|
|
|
| |
it was looking for are unused. GVN value numbers unused instructions, NewGVN does not. Fix the instructions to be used, so we eliminate the redundancies it's checking for, and un-XFAIL it
llvm-svn: 297058
|
| |
|
|
|
|
| |
This was requested in PR31958 and elsewhere.
llvm-svn: 297057
|
| |
|
|
|
|
|
|
| |
David Blaikie pointed out that the `setForceChildren` API is no longer needed and should be removed from the DWARF Generator APIs.
Also the DWARFDebugInfoTest file had some copy pasted comments that are not relevant. I've removed them.
llvm-svn: 297056
|
| |
|
|
| |
llvm-svn: 297055
|
| |
|
|
|
|
|
|
|
|
|
| |
If a block has non-analyzable branches, the listed successors don't need
to add up to one. For example, if a block has a conditional tail call,
that tail call will not have a corresponding successor in the successor
list, but will still be a possible branch.
Differential Revision: https://reviews.llvm.org/D30556
llvm-svn: 297054
|
| |
|
|
|
|
|
|
|
|
| |
it was accessing the details of the Log class directly. Let it go
through the channel class instead.
This also discovered a bug when we were setting but not clearing the log
options when enabling a channel.
llvm-svn: 297053
|
| |
|
|
| |
llvm-svn: 297052
|
| |
|
|
|
|
|
|
|
|
|
| |
Before, we were producing G_INSERT instructions that were actually closer to a
cast or even a COPY when both input and output sizes are the same. This doesn't
really make sense and means that everything interpreting a G_INSERT also has to
handle all these kinds of casts.
So now we detect these degenerate cases and emit real casts instead.
llvm-svn: 297051
|
| |
|
|
| |
llvm-svn: 297050
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This puts us at parity with bfd, which could already gc this case.
I noticed the sections not being gced when linking a modified freebsd
kernel. A section that was not gced and not mentioned in the linker
script would end up breaking the expected layout. Since fixing the gc
is relatively simple and an improvement, that seems better than trying
to hack the orphan placement code.
There are 173 input section in the entire link whose names are valid C
identifiers, so this is probably not too performance critical.
llvm-svn: 297049
|
| |
|
|
| |
llvm-svn: 297048
|
| |
|
|
| |
llvm-svn: 297047
|
| |
|
|
| |
llvm-svn: 297046
|
| |
|
|
|
|
|
|
|
|
|
| |
Use the store size of the argument type, which will be a byte-sized
quantity, rather than dividing the size in bits by 8.
Fixes PR32136 and re-enables copy elision from i64 arguments.
Reverts the workaround in from r296950.
llvm-svn: 297045
|
| |
|
|
| |
llvm-svn: 297044
|
| |
|
|
| |
llvm-svn: 297043
|
| |
|
|
|
|
|
|
| |
Now that G_INSERT instructions can only insert one register, this code was
overly general. In another direction it didn't handle registers that crossed
split boundaries properly, which needed to be fixed.
llvm-svn: 297042
|
| |
|
|
| |
llvm-svn: 297040
|
| |
|
|
| |
llvm-svn: 297039
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
basic block count.
Summary: We do not need that special handling because the debug info is more accurate now. Performance testing shows no regression on google internal benchmarks.
Reviewers: davidxl, aprantl
Reviewed By: aprantl
Subscribers: llvm-commits, aprantl
Differential Revision: https://reviews.llvm.org/D30658
llvm-svn: 297038
|
| |
|
|
| |
llvm-svn: 297037
|
| |
|
|
|
|
|
|
| |
1) Looks in Plugins and clang
2) Adds a mode to display the deps sorted by the number of times
the deps occurs in a particular project
llvm-svn: 297036
|
| |
|
|
| |
llvm-svn: 297035
|
| |
|
|
| |
llvm-svn: 297034
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge the tail block into the loop in cases where the main loop body
exits early, subject to profitability constraints. This will coalesce
the loop body into fewer blocks.
For example:
loop: loop:
// loop body // loop body
if (...) jump exit --> // more body
more: if (...) jump exit
// more body jump loop
jump loop
llvm-svn: 297033
|
| |
|
|
|
|
|
|
|
| |
The code in updateDeadFlags removed unnecessary <dead> flags, but there
can be cases where such a flag is not set, and yet a register has become
dead. For example, if a mux with identical inputs is replaced with a COPY,
the predicate register may no longer be used after that.
llvm-svn: 297032
|
| |
|
|
| |
llvm-svn: 297031
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GNUMode shouldn't be a benign language option because it influences the
resulting AST when checking for the existence of GNUMode-specific macro
"linux" (e.g. by having code inside #ifdef linux). This patch marks it as a
normal language option so it gets correctly passed to the compiler invocation
for the used modules.
The added test case illustrated this because it compiles without modules, but
fails when using modules.
Patch by Raphael Isemann (D30496)!
llvm-svn: 297030
|
| |
|
|
|
|
| |
Div/rem-of-0 does not cause faults/undef (not the same as div/rem-by-0).
llvm-svn: 297029
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Until now, NamespaceEndCommentFixer was adding missing comments for every run,
which results in multiple end comments for:
```
namespace {
int i;
int j;
}
#if A
int a = 1;
#else
int a = 2;
#endif
```
result before:
```
namespace {
int i;
int j;
}// namespace // namespace
#if A
int a = 1;
#else
int a = 2;
#endif
```
result after:
```
namespace {
int i;
int j;
}// namespace
#if A
int a = 1;
#else
int a = 2;
#endif
```
Reviewers: djasper
Reviewed By: djasper
Subscribers: klimek, cfe-commits
Differential Revision: https://reviews.llvm.org/D30659
llvm-svn: 297028
|
| |
|
|
|
|
| |
external_source_symbol attribute docs
llvm-svn: 297027
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactoring of duplicated code and more fixes to follow.
This is motivated by the post-commit comments for r296699:
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170306/435182.html
Ie, we can crash if we're missing obvious simplifications like this that
exist in the IR simplifier or if these occur later than expected.
The x86 change for non-splat division shows a potential opportunity to improve
vector codegen: we assumed that since only one lane had meaningful results, we
should do the math in scalar. But that means moving back and forth from vector
registers.
llvm-svn: 297026
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: klimek, djasper
Reviewed By: djasper
Subscribers: krasimir, kimgr, cfe-commits
Differential Revision: https://reviews.llvm.org/D30532
llvm-svn: 297025
|
| |
|
|
|
|
| |
NFC.
llvm-svn: 297024
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
block copy/destroy routines
This is a preparation commit for work on merging unique block copy/destroy
helper functions.
rdar://22950898
Differential Revision: https://reviews.llvm.org/D30345
llvm-svn: 297023
|
| |
|
|
| |
llvm-svn: 297022
|