| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 256393
|
| |
|
|
|
|
|
|
|
|
| |
include structs
Test case for commit 256381
Differential Revision: http://reviews.llvm.org/D15749
llvm-svn: 256382
|
| |
|
|
| |
llvm-svn: 256377
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ASTTemplateArgumentListInfo.
Doing so required separating them so that the former doesn't inherit
from the latter anymore. Investigating that, it became clear that the
inheritance wasn't actually providing real value in any case.
So also:
- Remove a bunch of redundant functions (getExplicitTemplateArgs,
getOptionalExplicitTemplateArgs) on various Expr subclasses which
depended on the inheritance relationship.
- Switched external callers to use pre-existing accessors that return the
data they're actually interested in (getTemplateArgs,
getNumTemplateArgs, etc).
- Switched internal callers to use pre-existing getTemplateKWAndArgsInfo.
llvm-svn: 256359
|
| |
|
|
|
|
| |
rbegin(). Makes the code a little cleaner. NFC
llvm-svn: 256358
|
| |
|
|
| |
llvm-svn: 256349
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa(aaaaaaaaaaaa)][bbbbbbbbbbb(
bbbbbbbbbbbb)]
After:
aaaaaaaaaaaaaaaaaaaaaaaaa[aaaaaaaaaaa(aaaaaaaaaaaa)]
[bbbbbbbbbbb(bbbbbbbbbbbb)]
llvm-svn: 256343
|
| |
|
|
|
|
|
|
|
|
| |
Before:
return * this += 1;
After:
return *this += 1;
llvm-svn: 256342
|
| |
|
|
|
|
| |
OpenMP 4.5 adds 'depend(sink:vec)' in 'ordered' directive for doacross loop synchronization. Patch adds parsing and semantic analysis for this clause.
llvm-svn: 256330
|
| |
|
|
| |
llvm-svn: 256319
|
| |
|
|
|
|
| |
switch, this makes the compiler ensure the switch is fully covered. NFC
llvm-svn: 256318
|
| |
|
|
|
|
|
|
|
|
|
| |
Include sorting generally can break .cc files, especially on Windows. Make
this opt-in for Chromium style to give us some more time to roll this out.
(Given that the Google style guide is used by many companies, some of them
probably writing code on Windows, one could argue this should be opt-in in
general...)
llvm-svn: 256288
|
| |
|
|
|
|
| |
library for distribution to other machines on the clang man page.
llvm-svn: 256287
|
| |
|
|
| |
llvm-svn: 256286
|
| |
|
|
|
|
|
| |
Fix typo in booleanType() doc and recreate the
LibASTMatchersReference.html reference document.
llvm-svn: 256284
|
| |
|
|
| |
llvm-svn: 256278
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
interface I {
o: {}
[];
}
After:
interface I {
o: {}[];
}
llvm-svn: 256247
|
| |
|
|
|
|
|
|
| |
initializers. For now, only use it for 20 items or more. Otherwise,
clang-format formats these one-per-line and thus increases the vertical
code size a lot.
llvm-svn: 256246
|
| |
|
|
| |
llvm-svn: 256245
|
| |
|
|
|
|
|
|
|
|
|
| |
If there are two pointers passed to an atomic Builtin,
Clang doesn't allow the second (non-atomic) one to be qualified
with an address space.
Remove this restriction by recording the address space of passed pointers
in atomics type diagnostics.
llvm-svn: 256243
|
| |
|
|
|
|
|
| |
This fixes the 'pure virtual function called' failure with ThreadPool in a
clang-built clang. This fixes the llvm-mips-linux builder.
llvm-svn: 256240
|
| |
|
|
| |
llvm-svn: 256239
|
| |
|
|
|
|
| |
OpenMP 4.5 adds 'depend(sink:vec)' in 'ordered' directive for doacross loop synchronization. Patch adds parsing and semantic analysis for this clause.
llvm-svn: 256238
|
| |
|
|
|
|
| |
function and use for the targets that can easily support it.
llvm-svn: 256230
|
| |
|
|
| |
llvm-svn: 256228
|
| |
|
|
|
|
|
|
| |
This flag isn't needed, or permitted, with the "ld" flavor of lld.
Also, add a basic ld commandline test.
llvm-svn: 256216
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The /Brepro flag controls whether or not the compiler should embed
timestamps into the object file. Object files which do not embed
timestamps are not suitable for incremental linking but are suitable for
hermetic build systems and staged self-hosts of clang.
A normal clang spelling of this flag has been added,
-mincremental-linker-compatible.
llvm-svn: 256204
|
| |
|
|
|
|
|
| |
The test failed when run on a SPARC host, since it was finding the
native gcc installation by accident.
llvm-svn: 256191
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using blocks, a byref structure is created to represent the
closure. The "byref.layout" field of this structure is an i8*. However,
some 'inline' layouts are represented as i64's, not i8*'s.
Prior to r246985 we cast the i64 'inline' layout to an i8* before
assigning it into the byref structure. This patch brings the cast back
and adds a regression test.
The original version of this patch was too invasive. This version only adds the
cast to BuildByrefLayout.
Differential Revision: http://reviews.llvm.org/D15674
rdar://23713871
llvm-svn: 256190
|
| |
|
|
|
|
| |
This reverts commit r256185. It breaks CodeGenObjC/fragile-arc.m.
llvm-svn: 256186
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using blocks, a byref structure is created to represent the
closure. The "byref.layout" field of this structure is an i8*. However,
some 'inline' layouts are represented as i64's, not i8*'s.
Prior to r246985 we cast the i64 'inline' layout to an i8* before
assigning it into the byref structure. This patch brings the cast back
and adds a regression test.
rdar://23713871
llvm-svn: 256185
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before:
void f() { struct Dummy { };
f();
}
After:
void f() {
struct Dummy {};
f();
}
llvm-svn: 256175
|
| |
|
|
|
|
| |
the main #include.
llvm-svn: 256170
|
| |
|
|
|
|
| |
The style guide allows both, but apparently, this is the more dominant use.
llvm-svn: 256154
|
| |
|
|
|
|
| |
includes.
llvm-svn: 256153
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: scan-view migrated from optparse deprecated Python module to its replacement (argparse) and resolved few conflicts with pep8
Reviewers: ddunbar, aaron.ballman, dcoughlin, jroelofs, zaks.anna
Subscribers: cfe-commits
Patch by Kirill Bobyrev!
Differential Revision: http://reviews.llvm.org/D15370
llvm-svn: 256150
|
| |
|
|
|
|
|
|
|
|
|
| |
Before, the first (non-system) header in a file was considered to be
the main include. This is conservative as it makes clang-format change
the #include order less often. Instead implement some basic usage of
the filename itself. With this patch, clang-format considers every
header to be a main include if the header file's basename is a prefix
to the filename the #include is in.
llvm-svn: 256148
|
| |
|
|
|
|
| |
The gold plugin understands -O0..-O3, but these are not currently being passed to it.
llvm-svn: 256146
|
| |
|
|
| |
llvm-svn: 256135
|
| |
|
|
|
|
|
|
| |
It resolves clang selfhosting with std::once() for Cygwin.
FIXME: It may be EmulatedTLS-generic also for X86-Android.
FIXME: Pass EmulatedTLS to LLVM CodeGen from Clang with -femulated-tls.
llvm-svn: 256134
|
| |
|
|
|
|
|
|
| |
Define the 64-bit equivalents of _m_to_int and _m_from_int.
Differential Revision: http://reviews.llvm.org/D15572
llvm-svn: 256122
|
| |
|
|
|
|
|
|
|
| |
The Intel manual documents both an unsigned form (_mm_popcnt_u32)
and a signed form (_popcnt32) of the intrinsic. Add the missing signed form.
Differential Revision: http://reviews.llvm.org/D15568
llvm-svn: 256121
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds driver options named -glldb and -gsce to mean -g plus tuning for
lldb and SCE debuggers respectively; the existing -ggdb option does
the same for gdb. Existing options -ggdb0, -ggdb1 etc. unpack into
-ggdb -g<N>. (There will not be -glldb<N> or -gsce<N> options.) The
tuning gets a target-specific default in the driver, and is passed
into cc1 with the new -debugger-tuning option.
As fallout, fixes where '-gsplit-dwarf -g0' would ignore the -g0 part
on Linux.
Differential Revision: http://reviews.llvm.org/D15651
llvm-svn: 256104
|
| |
|
|
|
|
|
| |
This reverts commit r256069, which was an unintentional tag along on
another commit.
llvm-svn: 256088
|
| |
|
|
| |
llvm-svn: 256083
|
| |
|
|
|
|
| |
(and then something else).
llvm-svn: 256080
|
| |
|
|
|
|
|
|
|
| |
Reapplies r256063, except instead of frugally re-using an LLVM enum,
we define a Clang enum, to avoid exposing too much LLVM interface.
Differential Revision: http://reviews.llvm.org/D15650
llvm-svn: 256078
|
| |
|
|
|
|
| |
feature for command line compatibility.
llvm-svn: 256076
|
| |
|
|
|
|
| |
Turns out cc1's flag has 1 - not 2...
llvm-svn: 256070
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This patch adds support for the clang multi-stage bootstrapping to support PGO profdata generation, and can build a 2 or 3 stage compiler.
With this patch applied you can configure your build directory with the following invocation of CMake:
cmake -G <generator> -C <path_to_clang>/cmake/caches/PGO.cmake <source dir>
After configuration the following additional targets will be generated:
stage2-instrumented:
Builds a stage1 x86 compiler, runtime, and required tools (llvm-config, llvm-profdata) then uses that compiler to build an instrumented stage2 compiler.
stage2-instrumented-generate-profdata:
Depends on "stage2-instrumented" and will use the instrumented compiler to generate profdata based on the training files in <clang>/utils/perf-training
stage2:
Depends on "stage2-instrumented-generate-profdata" and will use the stage1 compiler with the stage2 profdata to build a PGO-optimized compiler.
stage2-check-llvm:
Depends on stage2 and runs check-llvm using the stage3 compiler.
stage2-check-clang:
Depends on stage2 and runs check-clang using the stage3 compiler.
stage2-check-all:
Depends on stage2 and runs check-all using the stage3 compiler.
stage2-test-suite:
Depends on stage2 and runs the test-suite using the stage3 compiler (requires in-tree test-suite).
Reviewers: bogner, silvas, chandlerc
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D15584
llvm-svn: 256069
|