| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The object is provided by the objc runtime and is never visible in the
module itself, but even so, the address point we compute points into it,
and "+16" is guaranteed not to overflow.
This matches the c++ vtable IRGen.
Note that I'm not entirely convinced the 'i8*' type is correct here: at
the IR level, we're accessing memory that's outside the global object.
But we don't control the allocation, so it's not obviously wrong either.
But either way, this is only in a global initializer, so I don't think
it's going to be mucked with. Filed PR35352 to discuss that.
llvm-svn: 318545
|
| |
|
|
| |
llvm-svn: 318544
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a vreg's bank is specified in the registers block and one of its
defs or uses also specifies the bank, we end up checking that the
RegBank is equal to diagnose conflicting banks. The problem comes up
for generic vregs, where we weren't fully initializing the VRegInfo
when parsing the registers block, so we'd end up comparing a null
pointer to uninitialized memory.
This fixes a non-deterministic failure when round tripping through MIR
with generic vregs.
llvm-svn: 318543
|
| |
|
|
|
|
| |
Reduces spsce used and makes it easier to compare the 2 values for the equivalent instructions
llvm-svn: 318541
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The assertion was introduced in r317853 but there are cases when a call
isn't handled either as direct or indirect. In this case we add a
reference graph edge but not a call graph edge.
Reviewers: tejohnson
Reviewed By: tejohnson
Subscribers: mehdi_amini, inglorion, eraman, hiraditya, efriedma, llvm-commits
Differential Revision: https://reviews.llvm.org/D40056
llvm-svn: 318540
|
| |
|
|
|
|
|
|
|
|
| |
This linker backend is still a work in progress but is
enough to link simple programs including linking against
library archives.
Differential Revision: https://reviews.llvm.org/D34851
llvm-svn: 318539
|
| |
|
|
|
|
| |
llvm-clang-x86_64-expensive-checks-win (NFC).
llvm-svn: 318538
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
clang-format already removes empty lines at the beginning & end of
blocks:
int x() {
foo(); // lines before and after will be removed.
}
However because lamdas and arrow functions are parsed as expressions,
the existing logic to remove empty lines in UnwrappedLineFormatter
doesn't handle them.
This change special cases arrow functions in ContinuationIndenter to
remove empty lines:
x = []() {
foo(); // lines before and after will now be removed.
};
Reviewers: djasper
Subscribers: klimek, cfe-commits
Differential Revision: https://reviews.llvm.org/D40178
llvm-svn: 318537
|
| |
|
|
|
|
| |
Added codegen support for `target simd` directive.
llvm-svn: 318536
|
| |
|
|
| |
llvm-svn: 318535
|
| |
|
|
|
|
|
| |
I don't think there is any functionality change, but the code is
easier to understand IMHO.
llvm-svn: 318534
|
| |
|
|
|
|
|
|
|
|
| |
set to true."
This reverts commit r318528.
MC/AsmParser/preserve-comments-crlf.s fails on linux.
llvm-svn: 318533
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In recent versions of Solaris 11.4 (previously 12), ld -V output went to
stdout instead of stderr. Since AddLLVM.cmake only expects it on stderr,
Solaris ld wasn't properly detected and options not understood by it are
passed during the build.
The following patch fixes this, allowing for both variants.
Tested on i386-pc-solaris2.11.4 (on top of D35755 which is needed for
proper Solaris support).
Patch by Rainer Orth.
Differential Revision: https://reviews.llvm.org/D39601
llvm-svn: 318532
|
| |
|
|
|
|
| |
Improve the accuracy of the model by specifying the proper number of uops.
llvm-svn: 318531
|
| |
|
|
| |
llvm-svn: 318530
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The ArgumentsAdjuster returned from `getClangStripDependencyFileAdjuster` will
skip dependency flags, and also their associated values for those flags that
take an argument. This change corrects the handling of the `-MD` and `-MMD`
flags, which do not take an argument.
Reviewers: saugustine, klimek, alexshap
Reviewed By: alexshap
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D40024
llvm-svn: 318529
|
| |
|
|
|
|
|
|
| |
true.
Differential Revision: https://reviews.llvm.org/D39737
llvm-svn: 318528
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These tests were failing rarely on my MacBook when there was some
activity in the background. Read: one of a thousand executions?
* sections.c missed the sorting based on thread ids. This worked
as long as the master thread finished its section before the
worker thread started the second one but failed if the master
thread was put to sleep by the OS.
* The checks in single.c assumed that the master thread executes
the single region which works most of the time because it is
usually faster than the newly spawned worker thread.
Differential Revision: https://reviews.llvm.org/D39853
llvm-svn: 318527
|
| |
|
|
|
|
|
|
|
|
| |
See bug 35148: https://bugs.llvm.org//show_bug.cgi?id=35148
Reviewers: tamazov, SamWot, arsenm
Differential Revision: https://reviews.llvm.org/D39492
llvm-svn: 318526
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Adds text proto filename detection.
Reviewers: klimek
Reviewed By: klimek
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D40120
llvm-svn: 318525
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed broken comparison.
borked by: rL284966 (see: https://reviews.llvm.org/D25730).
Differential Revision: https://reviews.llvm.org/D40119
This is a second attempt to commit this.
The first attempt broke lld and gold tests that had been written against
the incorrect behaivour.
llvm-svn: 318524
|
| |
|
|
| |
llvm-svn: 318523
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finds copy constructors where the constructor don't call
the copy constructor of the base class.
```
class X : public Copyable {
X(const X &other) {} // Copyable(other) is missing
};
```
Differential Revision: https://reviews.llvm.org/D33722
llvm-svn: 318522
|
| |
|
|
|
|
|
|
| |
Fix test as it is assuming that the cache pruning is always being
performed by default. Explicitly set prune interval to 0s to ensure
pruning is always performed.
llvm-svn: 318520
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Recently we teached LLD to report line numbers for duplicate variables
definitions, though currently LLD is unable to do that for case when
strings are not built in .debug_info, but stored in .debug_str instead.
That is because out LLDDwarfObj does not handle .debug_str yet.
Patch fixes that.
Differential revision: https://reviews.llvm.org/D39542
llvm-svn: 318519
|
| |
|
|
|
|
|
|
|
| |
Test did not run under windows because uses zlib.
Content of section changed because now strings
merging is applied.
llvm-svn: 318518
|
| |
|
|
| |
llvm-svn: 318517
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes PR35223.
Here I enabled SHF_MERGE section content merging for -r like
we do for regular linking.
Differential revision: https://reviews.llvm.org/D40026
llvm-svn: 318516
|
| |
|
|
|
|
|
|
| |
For each line that we break in a protruding token, compute whether the
penalty of breaking is actually larger than the penalty of the excess
characters. Only break if that is the case.
llvm-svn: 318515
|
| |
|
|
|
|
| |
To fix standalone builds broken by r318411 (config.h is private to llvm).
llvm-svn: 318514
|
| |
|
|
|
|
| |
Patch by dxf@google.com.
llvm-svn: 318513
|
| |
|
|
| |
llvm-svn: 318512
|
| |
|
|
|
|
|
|
|
| |
Since SVN r318510, the MinGW/ARM configuration defaults to
dwarf exception handling.
Differential Revision: https://reviews.llvm.org/D39533
llvm-svn: 318511
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enabling and using dwarf exceptions seems like an easier path
to take, than to make the COFF/ARM backend output EHABI directives.
Previously, no EH model was enabled at all on this target.
There's no point in setting UseIntegratedAssembler to false since
GNU binutils doesn't support Windows on ARM, and since we don't
need to support external assembler, we don't need to use register
numbers in cfi directives.
Differential Revision: https://reviews.llvm.org/D39532
llvm-svn: 318510
|
| |
|
|
|
|
|
|
|
|
| |
handle nodes with chain outputs.
Previously we were assuming all results were vectors and calling SetWidenedVector, but if its a chain result we should just replace uses instead.
This fixes an error found by expensive checks after r318368.
llvm-svn: 318509
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The logic of replacing of a couple `RANGE_CHECK_LOWER + RANGE_CHECK_UPPER`
into `RANGE_CHECK_BOTH` in fact duplicates the logic of range intersection which
happens when we calculate safe iteration space. Effectively, the result of intersection of
these ranges doesn't differ from the range of merged range check.
We chose to remove duplicating logic in favor of code simplicity.
Differential Revision: https://reviews.llvm.org/D39589
llvm-svn: 318508
|
| |
|
|
|
|
| |
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/13565
llvm-svn: 318507
|
| |
|
|
| |
llvm-svn: 318506
|
| |
|
|
|
|
|
|
| |
This was completely ignoring subregisters,
so was not very useful. Also only break them
if xnack is actually enabled.
llvm-svn: 318505
|
| |
|
|
|
|
| |
It was broken by r318489.
llvm-svn: 318504
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
search path
When mixing PCH and Implicit Modules, missing a header search path
can lead to the implicit built PCM to complaint about not finding its
matching module map.
Instead of adding more magic to implicit modules engine, add a note to
help the user add the appropriate path.
rdar://problem/33388847
llvm-svn: 318503
|
| |
|
|
| |
llvm-svn: 318502
|
| |
|
|
|
|
|
|
| |
We might have instructions such as ext(copy(trunc)), and while cleaning
up legalization artifacts, we can also dce the copies that are in
between legalization artifacts.
llvm-svn: 318501
|
| |
|
|
| |
llvm-svn: 318500
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TransferDbgValues (capital 'T') is wired into ReplaceAllUsesWith, and
transferDbgValues (lowercase 't') is used elsewhere (e.g in Legalize).
Both functions should be doing the exact same thing. This patch
consolidates the logic into one place.
This was reverted in r318455 because some newly introduced asserts,
which I thought were NFC, were firing. I filed PR35338. For now I've
weakened the asserts.
Testing: check-llvm, check-clang, and a stage2 Rel+Deb build of clang
Differential Revision: https://reviews.llvm.org/D40104
llvm-svn: 318498
|
| |
|
|
|
|
|
| |
Since we always have Binding in the current symbol design IsLocal is
redundant.
llvm-svn: 318497
|
| |
|
|
|
|
| |
<rdar://problem/32505028>
llvm-svn: 318496
|
| |
|
|
|
|
|
|
| |
The parameters were just passed in the wrong order.
<rdar://problem/35150446>
llvm-svn: 318495
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
__builtin_nexttoward lowers to a libcall, e.g. nexttowardf(), that CUDA
does not have.
Rather than try to implement it, we simply remove these functions --
nvcc doesn't support them either, and nextafter, which does work, does
essentially the same thing on GPUs, because GPUs don't have long double.
Reviewers: tra
Subscribers: cfe-commits, sanjoy
Differential Revision: https://reviews.llvm.org/D40152
llvm-svn: 318494
|
| |
|
|
|
|
|
|
|
| |
Add additional RUN clauses to test for -asan-mapping-scale=5 in
selective tests, with special CHECK statements where needed.
Differential Revision: https://reviews.llvm.org/D39775
llvm-svn: 318493
|