| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 239575
|
| |
|
|
|
|
|
| |
This is all going through the VFS layer now, so there's nothing
platform-specific here.
llvm-svn: 239573
|
| |
|
|
|
|
|
|
| |
Specifying #pragma clang loop vectorize(assume_safety) on a loop adds the
mem.parallel_loop_access metadata to each load/store operation in the loop. This
metadata tells loop access analysis (LAA) to skip memory dependency checking.
llvm-svn: 239572
|
| |
|
|
|
|
| |
with a base-specifier inside a namespace.
llvm-svn: 239569
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(PR23810)
This patch does two things in order to enable compilation of the problematic code in PR23810:
1. In Sema::buildOverloadedCallSet, it postpones lookup for MS mode when no
viable candidate is found in the overload set. Previously, lookup would only
be postponed here if the overload set was empty.
2. Make BuildRecoveryCallExpr call Sema::DiagnoseEmptyLookup under more circumstances.
There is a comment in DiagnoseTwoPhaseLookup that says "Don't diagnose names we find in
classes; we get much better diagnostics for these from DiagnoseEmptyLookup." The problem
was that DiagnoseEmptyLookup might not get called later, and we failed to recover.
Differential Revision: http://reviews.llvm.org/D10369
llvm-svn: 239558
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For inline assembly immediate constraints, we currently always use
EmitScalarExpr, instead of directly emitting the constant. When the
overflow sanitizer is enabled, this generates overflow intrinsics
instead of constants.
Instead, emit a constant for constraints that either require an
immediate (e.g. 'I' on X86), or only accepts constants (immediate
or symbolic; i.e., don't accept registers or memory).
Fixes PR19763.
Differential Revision: http://reviews.llvm.org/D10255
llvm-svn: 239549
|
| |
|
|
| |
llvm-svn: 239548
|
| |
|
|
| |
llvm-svn: 239547
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D10214
llvm-svn: 239537
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 1st and 2nd tries to land this (r238055, r238851) were reverted due to
bot failures caused by the LLVM part of the patch. That was hopefully fixed
after r239001.
This is the front-end counterpart to D8982.
The -mrecip option interface is based on maintaining compatibility with gcc:
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/i386-and-x86-64-Options.html#index-mrecip_003dopt-1627
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/RS_002f6000-and-PowerPC-Options.html#index-mrecip-2289
...while adding more functionality (allowing users to specify the number of refinement steps for each
estimate type).
Differential Revision: http://reviews.llvm.org/D8989
llvm-svn: 239536
|
| |
|
|
|
|
|
|
|
|
| |
In the long run, these two might be independent or we might to only
allow specific combinations. Until we have a corresponding request,
however, it is hard to do the right thing and choose the right
configuration options. Thus, just don't touch the options yet and
just modify the behavior slightly.
llvm-svn: 239531
|
| |
|
|
|
|
| |
And fix formatting issue discovered by that :-).
llvm-svn: 239530
|
| |
|
|
| |
llvm-svn: 239528
|
| |
|
|
|
|
|
| |
GCC allows case-insensitive values for -mcpu, -march and -mtune options.
This patch implements the same behaviour for the -march option for ARM.
llvm-svn: 239527
|
| |
|
|
| |
llvm-svn: 239526
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: We already pass these to the IAS, but not to GAS.
Reviewers: dsanders, atanasyan
Reviewed By: atanasyan
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10358
llvm-svn: 239525
|
| |
|
|
|
|
| |
Destroy RuntimeCleanupScope before generation of termination instruction in parallel loop precondition.
llvm-svn: 239524
|
| |
|
|
|
|
|
|
|
|
|
| |
The following example used to crash clang-format.
#define a\
/**/}
Adjusting the indentation level cache for the line starting with the
comment would lead to an out-of-bounds array read.
llvm-svn: 239521
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before clang-format would e.g. add a space into
#define Q_FOREACH(x, y)
which turns this into a non-function-like macro.
Patch by Strager Neds, thank you!
llvm-svn: 239513
|
| |
|
|
|
|
|
| |
They were reverted because the FileCheck patterns didn't match on
release builds.
llvm-svn: 239512
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Revert "[MS ABI] Allow memfn pointers with unconvertible types to be formed"
This reverts r239499 and r239503; the former breaks tests [1] and the
latter is based on the former.
[1]
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/4473/testReport/Clang/CodeGenCXX/microsoft_abi_virtual_member_pointers_cpp/
llvm-svn: 239511
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
builtins
This patch corresponds to review:
http://reviews.llvm.org/D10095
This is for just two instructions and related builtins:
vbpermq
vgbbd
llvm-svn: 239506
|
| |
|
|
|
|
| |
disabled but local module visibilty was enabled.
llvm-svn: 239504
|
| |
|
|
|
|
| |
This fixes PR23801.
llvm-svn: 239503
|
| |
|
|
|
|
|
| |
This restriction appears unnecessary and most likely came about during
early work for musttail.
llvm-svn: 239500
|
| |
|
|
|
|
|
|
| |
Remove the restriction which forbade forming pointers to member
functions which had parameter types or return types which were not
convertible.
llvm-svn: 239499
|
| |
|
|
|
|
| |
add support for bpfel/bpfeb targets
llvm-svn: 239496
|
| |
|
|
| |
llvm-svn: 239494
|
| |
|
|
| |
llvm-svn: 239487
|
| |
|
|
|
|
|
| |
modules, and allow use of a default template argument if any of the parameters
providing it is visible.
llvm-svn: 239485
|
| |
|
|
|
|
|
|
|
|
| |
If definition of a class is unknown and out-of-line definition of its
member is encountered, do not parse the member declaration.
This change fixes PR18542.
Differential Revision: http://reviews.llvm.org/D8010
llvm-svn: 239483
|
| |
|
|
|
|
|
|
|
|
|
|
| |
CodeGenOptions and onto the PassManagerBuilder. This enables gating
the new EliminateAvailableExternally module pass on whether we are
preparing for LTO.
If we are preparing for LTO (e.g. a -flto -c compile), the new pass is not
included as we want to preserve available externally functions for possible
link time inlining.
llvm-svn: 239481
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D10211
llvm-svn: 239476
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D10210
llvm-svn: 239474
|
| |
|
|
|
|
|
|
|
|
|
| |
it doesn't work correctly when a structure is declared before pragma
and then a function with the same name declared after pragma.
Patch by Andrey Bokhanko
Differential Revision: http://reviews.llvm.org/D10187
llvm-svn: 239466
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assignments as enums.
Top level object literals are treated as enums, and their k/v pairs are put on
separate lines:
X.Y = {
A: 1,
B: 2
};
However assignments within blocks should not be affected:
function x() {
y = {a:1, b:2};
}
This change fixes the second case. Patch by Martin Probst.
llvm-svn: 239462
|
| |
|
|
| |
llvm-svn: 239457
|
| |
|
|
|
|
| |
than wasting storage and triggering eager deserializations by serializing it.
llvm-svn: 239454
|
| |
|
|
|
|
|
|
|
| |
The RequestingModule argument was unused and always its default value of
nullptr.
Also move a declaration closer to its use, and range-for'ify.
llvm-svn: 239453
|
| |
|
|
| |
llvm-svn: 239452
|
| |
|
|
|
|
|
| |
This is just a preparatory step towards fixing visibility for default template
arguments in modules builds.
llvm-svn: 239447
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on previous discussion on the mailing list, clang currently lacks support
for C99 partial re-initialization behavior:
Reference: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-April/029188.html
Reference: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_253.htm
This patch attempts to fix this problem.
Given the following code snippet,
struct P1 { char x[6]; };
struct LP1 { struct P1 p1; };
struct LP1 l = { .p1 = { "foo" }, .p1.x[2] = 'x' };
// this example is adapted from the example for "struct fred x[]" in DR-253;
// currently clang produces in l: { "\0\0x" },
// whereas gcc 4.8 produces { "fox" };
// with this fix, clang will also produce: { "fox" };
Differential Review: http://reviews.llvm.org/D5789
llvm-svn: 239446
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit adds back the code that seems to have been dropped unintentionally
in r176985.
rdar://problem/13752163
Differential Revision: http://reviews.llvm.org/D10100
llvm-svn: 239426
|
| |
|
|
|
|
|
|
|
|
| |
GCC mangles long double like __float128 in order to support
compatibility with ABI variants which had a different interpretation of
long double.
This fixes PR23791.
llvm-svn: 239421
|
| |
|
|
|
|
|
| |
This reverts commit r239415. This was committed accidentally, LLVM isn't
ready for this.
llvm-svn: 239417
|
| |
|
|
| |
llvm-svn: 239416
|
| |
|
|
|
|
|
|
| |
This reverts r236167.
LLVM should be ready for this now.
llvm-svn: 239415
|
| |
|
|
|
|
| |
This revision just fixes the formatting of altivec.h.
llvm-svn: 239408
|
| |
|
|
|
|
| |
Fixing the build-break introduced in r239406.
llvm-svn: 239407
|
| |
|
|
|
|
| |
Patch by Nick Sumner!
llvm-svn: 239406
|