| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 228514
|
| |
|
|
|
|
| |
This adds tests for the remaining AVX2 instructions that currently support memory folding.
llvm-svn: 228513
|
| |
|
|
|
|
| |
Information' since this isn't actually modifying/extending the language.
llvm-svn: 228512
|
| |
|
|
|
|
| |
in the Clang CFE Internals Manual (done in r147729).
llvm-svn: 228510
|
| |
|
|
| |
llvm-svn: 228509
|
| |
|
|
|
|
|
|
|
| |
The only difference between deleteIfDeadInstruction and
RecursivelyDeleteTriviallyDeadInstructions is that the former also
manually invalidates SCEV. That's unnecessary because SCEV automatically
gets informed when an instruction is deleted via a ValueHandle. NFC.
llvm-svn: 228508
|
| |
|
|
|
|
|
| |
heap. Problem identified by Guido Vranken. Changes differ from original
OpenBSD sources by not depending on non-portable reallocarray.
llvm-svn: 228507
|
| |
|
|
| |
llvm-svn: 228506
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Associative containers implements some of the algorithms as methods which
should be preferred to the algorithms in the algorithm header. The methods
can take advantage of the order of the elements.
Reviewers: alexfh
Reviewed By: alexfh
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7246
llvm-svn: 228505
|
| |
|
|
|
|
|
| |
Turns out there is a simpler way of checking that all bytes in a word are equal
than binary decomposition.
llvm-svn: 228503
|
| |
|
|
|
|
|
|
| |
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7482
llvm-svn: 228500
|
| |
|
|
| |
llvm-svn: 228499
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
different fields.
We can show that two GEPs off of the same (possibly multidimensional)
array of structs, into different fields, can't alias. Quoting:
For two GEPOperators GEP1 and GEP2, if we find that:
- both GEPs begin indexing from the exact same pointer;
- the last indices in both GEPs are constants, indexing into a struct;
- said indices are different, hence,the pointed-to fields are different;
- and both GEPs only index through arrays prior to that;
this lets us determine that the struct that GEP1 indexes into and the
struct that GEP2 indexes into must either precisely overlap or be
completely disjoint. Because they cannot partially overlap, indexing
into different non-overlapping fields of the struct will never alias.
The other BasicAA::aliasGEP rules worked in some cases, but not all
(for example, the i32x3 struct in the testcase).
We can add this simple ad-hoc rule to complement them.
rdar://19717375
Differential Revision: http://reviews.llvm.org/D7453
llvm-svn: 228498
|
| |
|
|
|
|
|
| |
Composing DenseMaps and SmallVectors is still somewhat suboptimal,
but this at least halves the size of the vector elements. NFC.
llvm-svn: 228497
|
| |
|
|
|
|
|
| |
This resolves the strange effect that emplace_back is only available
when the type contained in the vector is not trivially copyable.
llvm-svn: 228496
|
| |
|
|
|
|
| |
General boolean instructions (AND, ANDN, OR, XOR) need to use a specific domain instruction (and not just the default).
llvm-svn: 228495
|
| |
|
|
| |
llvm-svn: 228494
|
| |
|
|
| |
llvm-svn: 228493
|
| |
|
|
|
|
|
|
| |
It's slightly cheaper than copying it, if the DebugLoc points to replaceable
metadata every copy is recorded in a DenseMap, moving reduces the peak size of
that map.
llvm-svn: 228492
|
| |
|
|
| |
llvm-svn: 228491
|
| |
|
|
|
|
|
|
| |
COFF section flags are not idempotent:
'rd' will make a read-write section because 'd' implies write
'dr' will make a read-only section because 'r' disables write
llvm-svn: 228490
|
| |
|
|
|
|
| |
This fixes -Winconsistent-missing-override warnings.
llvm-svn: 228489
|
| |
|
|
|
|
|
|
|
|
| |
If a loop predecessor has an invoke as its terminator, and the return value
from that invoke is used to determine the loop iteration space, then we can't
insert a computation based on that value in the loop predecessor prior to the
terminator (oops). If there's such an invoke, or just no predecessor for that
matter, insert a new loop preheader.
llvm-svn: 228488
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7430
llvm-svn: 228487
|
| |
|
|
|
|
|
|
|
| |
only execute thumb instructions, force the arch triple string to
be "thumbv..." instead of "armv..." so we do the right thing by
default when disassembling arbitrary chunks of code.
<rdar://problem/15126397>
llvm-svn: 228486
|
| |
|
|
|
|
|
| |
context as anonymous for merging purposes. They can't be found by their names,
so we merge them based on their position within the surrounding context.
llvm-svn: 228485
|
| |
|
|
|
|
|
|
| |
Seems some compilers don't like the RHS-style decltype specifier.
This should fix the buildbots.
llvm-svn: 228484
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
@try {
// ...
}
@finally {
// ...
}
Now:
@try {
// ...
} @finally {
// ...
}
This is consistent with how we format C++ try blocks and SEH try blocks.
clang-format not doing this before was an implementation oversight.
This is dependent on BraceBreakingStyle. The snippet above is with the
Attach style. Style Stroustrip for example still results in the "Before:"
snippet, which makes sense since other blocks (try, else) break after '}' too.
llvm-svn: 228483
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These were originally submitted as part of r228428, but this part
caused a build breakage in LLVMConfig. The library portion was
resubmitted independently since it was not causing breakage.
There were two reasons this was causing the build to fail. The
first is that there were no Makefiles added for the PDB tests. And
the second is that the DebugInfoPDB library was only being built by
CMake behind an "if (MSVC)" check. This is wrong since this the
library hides platform specific details, and it was causing
LLVM-Config to not find the library when trying to build unittests.
llvm-svn: 228482
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
backend can handle.
Also removed unused builtins.
Original patch by Andrea Di Biagio!
Reviewers: craig.topper, nadav
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7199
llvm-svn: 228481
|
| |
|
|
| |
llvm-svn: 228479
|
| |
|
|
|
|
|
|
|
| |
Since these `dwarf` functions return `const char *`, the tests need to
use `StringRef` for checks. Should fix, e.g., hexagon [1].
[1]: http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/22435
llvm-svn: 228478
|
| |
|
|
| |
llvm-svn: 228476
|
| |
|
|
|
|
| |
DeclContext::noload_lookup.
llvm-svn: 228475
|
| |
|
|
| |
llvm-svn: 228474
|
| |
|
|
|
|
|
| |
Use definition file for `DW_VIRTUALITY_*`. Add a `DW_VIRTUALITY_max`
both for ease of testing and for future use by the `LLParser`.
llvm-svn: 228473
|
| |
|
|
|
|
|
|
|
| |
If you do, the test runner will fail immediately with the error:
close_fds is not supported on Windows platforms if you redirect
stdin/stdout/stderr.
llvm-svn: 228472
|
| |
|
|
| |
llvm-svn: 228470
|
| |
|
|
| |
llvm-svn: 228469
|
| |
|
|
| |
llvm-svn: 228468
|
| |
|
|
| |
llvm-svn: 228467
|
| |
|
|
|
|
|
|
| |
This tutorial builds on the lazy_codegen kaleidoscope/orc tutorial by making
a small set of changes (~75 lines diff) to defer ir-generation for function
definitions until functions are actually referenced.
llvm-svn: 228466
|
| |
|
|
|
|
| |
sections with the Mach-O S_{4,8,16}BYTE_LITERALS section types.
llvm-svn: 228465
|
| |
|
|
| |
llvm-svn: 228464
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
from a conditional branch fed by an add/sub/mul-with-overflow node.
We previously used the SDLoc of the overflow node, for no good reason.
In some cases, this led to the Bcc and B terminators having different
source orders, and DBG_VALUEs being inserted between them.
The real issue is with the code that can't handle DBG_VALUEs between
terminators: the few places affected by this will be fixed soon.
In the meantime, fixing the SDLoc is a positive change no matter what.
No tests, as I have no idea how to get .loc emitted for branches?
rdar://19347133
llvm-svn: 228463
|
| |
|
|
| |
llvm-svn: 228462
|
| |
|
|
| |
llvm-svn: 228461
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
related fixups
Unfortunately, even with the workaround of disabling the linker TLS
optimizations in Clang restored (which has already been done), this still
breaks self-hosting on my P7 machine (-O3 -DNDEBUG -mcpu=native).
Bill is currently working on an alternate implementation to address the TLS
issue in a way that also fully elides the linker bug (which, unfortunately,
this approach did not fully), so I'm reverting this now.
llvm-svn: 228460
|
| |
|
|
|
|
|
|
| |
This tutorial builds on the initial kaleidoscope/orc tutorial by adding a
LazyEmittingLayer to the custom stack. This extra layer defers compilation
of modules in the JIT until they are statically referenced.
llvm-svn: 228459
|
| |
|
|
| |
llvm-svn: 228458
|