| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 207229
|
| |
|
|
|
|
|
| |
This reverts commit r207155.
The test was still failing.
llvm-svn: 207225
|
| |
|
|
|
|
|
|
|
|
| |
We don't assign counters for implicit Decls, but we were emitting code
to increment the (non-existent) counters and adding empty counter
lists in the output. This fixes the checks in assignRegionCounters and
emitInstrumentationData to do the right thing, and adds an assert for
the pathological case of emitting zero counters.
llvm-svn: 207203
|
| |
|
|
| |
llvm-svn: 207155
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
after we've already instantiated a definition for the function, pass it to the
ASTConsumer again so that it knows the specialization kind has changed and can
update the function's linkage.
This only matters if we instantiate the definition of the function before we
reach the end of the TU; this can happen in at least three different ways:
C++11 constexpr functions, C++14 deduced return types, and functions
instantiated within modules.
llvm-svn: 207152
|
| |
|
|
| |
llvm-svn: 207138
|
| |
|
|
|
|
| |
Since r207132, these are defined in ia32intrin.h.
llvm-svn: 207134
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch:
1. Adds a definition for two new GCCBuiltins in BuiltinsX86.def:
__builtin_ia32_rdtsc;
__builtin_ia32_rdtscp;
2. Replaces the already existing definition of intrinsic __rdtsc in
ia32intrin.h with a simple call to the new GCC builtin __builtin_ia32_rdtsc.
3. Adds a definition for the new intrinsic __rdtscp in ia32intrin.h
llvm-svn: 207132
|
| |
|
|
|
|
|
|
| |
Also, use the enum type in the switch so this doesn't happen again.
PR19523
llvm-svn: 207128
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: The condition in the base class is rather strange. It says a target has the 128-bit integer type if the size of a pointer is >= 64-bits. N32 has 32-bit pointers but 64-bit integers. I'm a bit reluctant to change this for all targets so this patch makes the method virtual and overrides it for MIPS64.
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D3472
llvm-svn: 207121
|
| |
|
|
|
|
| |
in msc17.
llvm-svn: 207107
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Correct size_t to be unsigned int and ptrdiff_t to be signed long. The types were the correct size before this change but
the exact type matters for name mangling and exception handling in C++.
Reviewers: atanasyan
Reviewed By: atanasyan
Differential Revision: http://reviews.llvm.org/D3470
llvm-svn: 207093
|
| |
|
|
| |
llvm-svn: 207087
|
| |
|
|
| |
llvm-svn: 207079
|
| |
|
|
| |
llvm-svn: 207077
|
| |
|
|
|
|
|
| |
The result of llvm::MemoryBuffer::getMemBuffer() needs to be freed. Don't
pass "don't free" flag to overrideFileContents() to fix.
llvm-svn: 207075
|
| |
|
|
|
|
| |
http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/22506
llvm-svn: 207070
|
| |
|
|
|
|
| |
Also update a comment to match a code change that was done in r110978.
llvm-svn: 207065
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
together. This is extremely hairy, because in general we need to have loaded
both the template and the pattern before we can determine whether either should
be merged, so we temporarily violate the rule that all merging happens before
reading a decl ends, but *only* in the case where a template's pattern is being
loaded while loading the template itself.
In order to accomodate this for class templates, delay loading the injected
class name type for the pattern of the template until after we've loaded the
template itself, if we happen to load the template first.
llvm-svn: 207063
|
| |
|
|
|
|
| |
Should suppress several LSan reports.
llvm-svn: 207056
|
| |
|
|
| |
llvm-svn: 207040
|
| |
|
|
| |
llvm-svn: 207039
|
| |
|
|
| |
llvm-svn: 207032
|
| |
|
|
|
|
|
|
|
|
| |
LSan folks: LSan pointed to
#0 0x4953e0 in operator new[](unsigned long) llvm/projects/compiler-rt/lib/asan/asan_new_delete.cc:64
#1 0x7fb82af5372f in clang::RewriteRope::MakeRopeString(char const*, char const*) llvm/tools/clang/lib/Rewrite/Core/RewriteRope.cpp:796
instead of to the actual leak, which made tracking this down slower than
it could have been.
llvm-svn: 207031
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise including a header in your source file that is not included by
framework's umbrella header will silently add an empty submodule with that
name.
is automatically translated to
@import Foo.NotInModule;
which then would have succeeded because the inferred module map
contained an empty submodule called NotInModule.
llvm-svn: 207024
|
| |
|
|
| |
llvm-svn: 207013
|
| |
|
|
| |
llvm-svn: 207011
|
| |
|
|
|
|
|
|
|
|
| |
We were using the same guard variable and failing to initialize the
second global.
Clang is still not MS ABI compatible in this area. Fixing that is
PR16959, which will require LLVM changes to @llvm.global_ctors.
llvm-svn: 207008
|
| |
|
|
| |
llvm-svn: 207007
|
| |
|
|
|
|
|
| |
'typeof' to extract type of an @encode expression used
in an initializer. // rdar://16655340
llvm-svn: 207004
|
| |
|
|
|
|
| |
PR19524
llvm-svn: 207001
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fixes massive performance problems on large translation units.
Reviewers: jordan_rose
Reviewed By: jordan_rose
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D3471
llvm-svn: 206999
|
| |
|
|
| |
llvm-svn: 206986
|
| |
|
|
|
|
| |
static since this function is file-local. No functional changes intended.
llvm-svn: 206982
|
| |
|
|
| |
llvm-svn: 206981
|
| |
|
|
| |
llvm-svn: 206979
|
| |
|
|
|
|
| |
symbols in non-imported modules.
llvm-svn: 206977
|
| |
|
|
|
|
|
|
|
|
| |
The original messages were:
"Driver: Honor %INCLUDE% when built with MinGW"
"Add missing test triples"
The test was still failing on OS X.
llvm-svn: 206973
|
| |
|
|
|
|
| |
Patch by Yuri Gorshenin.
llvm-svn: 206970
|
| |
|
|
|
|
|
|
| |
behaviour of Clang/AArch64 and GCC.
GCC allows sub-64bit values to use the 'r' register constraint.
llvm-svn: 206963
|
| |
|
|
|
|
|
|
| |
test for arm64_be.
This ensures that r203917 (cpirker "AArch64_be varargs processing for ARM ABI") is ported to ARM64.
llvm-svn: 206961
|
| |
|
|
|
|
|
|
| |
Mangle ref-qualifiers like the Nov 2013 CTP.
This fixes PR19361.
llvm-svn: 206946
|
| |
|
|
|
|
| |
No functional change.
llvm-svn: 206945
|
| |
|
|
|
|
| |
No functional change.
llvm-svn: 206944
|
| |
|
|
|
|
| |
No functional change.
llvm-svn: 206943
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We previously treated ARM separately from the generic Itanium ABI for
initializing guard variables. This code duplication led to things like
the ARM path missing the memory barrier for threadsafe handling, and a
highly misleading comment about how we were (mis)using the generic ABI
for ARM64 when really it went through the ARM codepath.
This unifies the two code paths. Functionally, this changes the ARM
and ARM64 codepath to use one byte loads instead of 4 and 8,
respectively, and adds the missing atomic acquire to these loads.
Other architectures are unchanged.
llvm-svn: 206937
|
| |
|
|
|
|
|
|
|
|
|
| |
Users are expected to pass system includes through the INCLUDE
environment variable on Windows. There's no reason to change behavior
based on the toolchain used to build Clang.
I didn't change the registry searching code because I'm not sure it
builds with mingw and I'm not set up to test it.
llvm-svn: 206934
|
| |
|
|
| |
llvm-svn: 206933
|
| |
|
|
|
|
|
|
| |
digits. Turns out we have completely separate lexing codepaths for floating
point numbers depending on whether or not they start with a zero. Who knew...
=)
llvm-svn: 206932
|
| |
|
|
|
|
|
|
| |
statements, don't diagnose; the return type might end up being 'void'.
Patch by Rahul Jain! Tiny tweaks by me.
llvm-svn: 206929
|