| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 241296
|
|
|
|
|
|
|
|
|
|
|
|
| |
instructions introduced in POWER8.
These are the Clang-related changes for http://reviews.llvm.org/D10704
All builtins are added in altivec.h and guarded with the POWER8_VECTOR macro.
Phabricator review: http://reviews.llvm.org/D10736
llvm-svn: 241293
|
|
|
|
|
|
| |
single file tests' bug identifiers.
llvm-svn: 241292
|
|
|
|
| |
llvm-svn: 241291
|
|
|
|
|
|
|
|
| |
llvm/lib/Support/TargetParser.cpp for extracting target specific information."
This reverts commit r241267. Tests were failing on the bots.
llvm-svn: 241275
|
|
|
|
|
|
|
| |
Using the token type "unknown" can interfere badly with
WhitespaceManager's way of handling multiline comments.
llvm-svn: 241273
|
|
|
|
| |
llvm-svn: 241272
|
|
|
|
|
|
|
|
|
| |
llvm/lib/Support/TargetParser.cpp
for extracting target specific information.
Change-Id: Ia0b83ecdb8d9223f9c4ef38dd9206969f78e53f3
llvm-svn: 241267
|
|
|
|
| |
llvm-svn: 241264
|
|
|
|
|
|
| |
all members of the set. Instead, test that all members are convertible to the common type.
llvm-svn: 241263
|
|
|
|
|
|
| |
The lexer wasn't properly reset leading to unexpected deletions.
llvm-svn: 241262
|
|
|
|
|
| |
Change-Id: Ibaa2e1115544ddfa491335b81226819fd9cc04b4
llvm-svn: 241260
|
|
|
|
| |
llvm-svn: 241259
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We use findModuleForHeader() in several places, but in header search we
were not calling it when a framework module didn't show up with the
expected name, which would then lead to unexpected non-modular includes.
Now we will find the module unconditionally for frameworks. For regular
frameworks, we use the spelling of the module name from the module map
file, and for inferred ones we use the canonical directory name.
In the future we might want to lock down framework modules sufficiently
that these name mismatches cannot happen.
rdar://problem/20465870
llvm-svn: 241258
|
|
|
|
|
|
|
| |
Some counts were off, we don't need to take the leading newlines of the
first ` into account and some tests were just wrong.
llvm-svn: 241257
|
|
|
|
|
|
| |
exception type (...).
llvm-svn: 241256
|
|
|
|
|
|
| |
Implemented parsing/sema analysis + (de)serialization.
llvm-svn: 241253
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out that nullptr pointers to data members act differently in
function templates vs class templates. Class templates use a variable
width representation proportional to the number of fields needed to
materialize it. Function templates always use a single '0' template
parameter. However, using '0' all the time is problematic if the class
uses single or multiple inheritance. In those cases, use -1.
llvm-svn: 241251
|
|
|
|
| |
llvm-svn: 241248
|
|
|
|
|
|
|
| |
It still doesn't produce quite the right code, test binaries built with this
enabled fail some tests.
llvm-svn: 241244
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Objective-C format strings now support modifier flags
that can be attached to a '@' conversion. Currently
the only one supported, as of iOS 9 and OS X 10.11,
is the new "technical term", denoted by the flag "tt",
for example:
%[tt]@
instead of just:
%@
The 'tt' stands for "technical term", which is used
by the string-localization facilities on Darwin to
add the appropriate spacing or quotation depending
the language locale.
Implements <rdar://problem/20374720>.
llvm-svn: 241243
|
|
|
|
|
|
|
|
|
|
| |
This change reduces some unnecessary boilerplate
since all calls to 'setPosition' are currently paired
with setting the flag of OptionalFlag.
No functionality change.
llvm-svn: 241242
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
No more hardcoded paths: clang will use -sysroot as gcc root location if
provided. Otherwise, it will search for gcc on the path. If not found it
will use the driver installed location.
http://reviews.llvm.org/D5268
Patch by Ruben Van Boxem, Martell Malone, Yaron Keren.
Reviewed by Reid Kleckner.
llvm-svn: 241241
|
|
|
|
|
|
| |
Added explicit target to pch test
llvm-svn: 241240
|
|
|
|
|
|
|
|
|
|
| |
The next code is generated for this construct:
```
if (__kmpc_cancellationpoint(ident_t *loc, kmp_int32 global_tid, kmp_int32 cncl_kind) != 0)
<exit from outer innermost construct>;
```
llvm-svn: 241239
|
|
|
|
|
|
|
|
|
| |
default simd alignment.
Adds type trait "__builtin_omp_required_simd_align" after discussions here http://reviews.llvm.org/D9894
Differential Revision: http://reviews.llvm.org/D10597
llvm-svn: 241237
|
|
|
|
| |
llvm-svn: 241229
|
|
|
|
|
|
| |
Fixes the tests there.
llvm-svn: 241228
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Windows the user may invoke the linker directly, so we might not have an
opportunity to add runtime library flags to the linker command line. Instead,
instruct the code generator to embed linker directive in the object file
that cause the required runtime libraries to be linked.
We might also want to do something similar for ASan, but it seems to have
its own special complexities which may make this infeasible.
Differential Revision: http://reviews.llvm.org/D10862
llvm-svn: 241225
|
|
|
|
|
|
|
| |
When we read this data we treat it as unaligned and packed, so we
should really be explicit about that when we write it.
llvm-svn: 241218
|
|
|
|
|
|
|
| |
rarely matters, but can affect whether two dependent types are canonically
equivalent.
llvm-svn: 241207
|
|
|
|
| |
llvm-svn: 241205
|
|
|
|
|
|
| |
'fork'+'exec' combination made scan-build and ccc-analyzer hang under Windows. The patch replaces 'fork'+'exec' with more reliable 'system' (ccc-analyzer) and piped 'open' (scan-build). See http://reviews.llvm.org/D8774 and http://reviews.llvm.org/D9357 for more details.
llvm-svn: 241201
|
|
|
|
|
|
|
| |
It was still using frameaddress(1) to get the parent FP, even though it
had the value it wanted as a parameter.
llvm-svn: 241199
|
|
|
|
| |
llvm-svn: 241195
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
trailing return types.
Before:
template <typename T>
auto x() & -> int {}
After:
template <typename T>
auto x() & -> int {}
llvm-svn: 241188
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
32-bit finally funclets are intended to be called both directly from the
parent function and indirectly from the EH runtime. Because we aren't
contorting LLVM's X86 prologue to match MSVC's, calling the finally
block directly passes in a different value of EBP than the one that the
runtime provides. We need an adapter thunk to adjust EBP to the expected
value. However, WinEHPrepare already has to solve this problem when
cleanups are not pre-outlined, so we can go ahead and rely on it rather
than duplicating work.
Now we only do the llvm.x86.seh.recoverfp dance for 32-bit SEH filter
functions.
llvm-svn: 241187
|
|
|
|
|
|
|
| |
class template specialization visible just because the class template
specialization's definition is visible.
llvm-svn: 241182
|
|
|
|
|
|
| |
parse-merging.
llvm-svn: 241180
|
|
|
|
|
|
|
|
|
|
| |
typedefs, and records"
Caused PR24008.
This reverts commit r241154.
llvm-svn: 241177
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This re-lands r236052 and adds support for __exception_code().
In 32-bit SEH, the exception code is not available in eax. It is only
available in the filter function, and now we arrange to load it and
store it into an escaped variable in the parent frame.
As a consequence, we have to disable the "catch i8* null" optimization
on 32-bit and always generate a filter function. We can re-enable the
optimization if we detect an __except block that doesn't use the
exception code, but this probably isn't worth optimizing.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D10852
llvm-svn: 241171
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
typedefs, and records
Function static variables, typedefs and records (class, struct or union) declared inside
a lexical scope were associated with the function as their parent scope, rather than the
lexical scope they are defined or declared in.
This fixes PR19238
Patch by: amjad.aboud@intel.com
Differential Revision: http://reviews.llvm.org/D9760
llvm-svn: 241154
|
|
|
|
|
|
| |
any source of the inline nature is sufficient.
llvm-svn: 241146
|
|
|
|
|
|
| |
Add parsing and sema analysis for 'omp cancellation point' directive.
llvm-svn: 241145
|
|
|
|
| |
llvm-svn: 241144
|
|
|
|
|
|
| |
Some bots didn't like r241140.
llvm-svn: 241141
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The map of FileChange structs here was storing two disjoint types of
information:
1. A pointer to the Module that an #include directive implicitly
imported
2. A FileID and FileType for an included file. These would be left
uninitialized in the Module case.
This change splits these two kinds of information into their own maps,
which both simplifies how we access either and avoids the undefined
behaviour we were hitting due to the uninitialized fields in the
included file case.
Mostly NFC, but fixes some errors found by self-host with ubsan.
llvm-svn: 241140
|
|
|
|
|
|
|
|
|
|
|
| |
update the identifier in case we've imported a definition of the macro (and
thus the contents of the header) from a module.
Also fold ExternalIdentifierLookup into ExternalPreprocessorSource; it no longer
makes sense to keep these separate now that the only user of the former also
needs the latter.
llvm-svn: 241137
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
even temporarily.
When an internal-linkage thunk is code gen'd, CodeGenVTables::emitThunk
will first be called with ForVTable=true (which incorrectly set the
thunk's linkage to available_externally under the Itanium ABI) and later
with ForVTable=false (which reset it to internal). Because we will always
see a call with ForVTable=false, this incorrect linkage never ended up in
the final IR. However, the temporary presence of this linkage caused us
to give such functions a comdat as a result of code introduced in r241102.
To avoid this, check that the thunk is externally visible before giving it
available_externally linkage.
llvm-svn: 241136
|
|
|
|
|
|
|
|
|
|
|
| |
re-entering a modular header.
When we do the include guard check, we're in the visibility state for the file
with the #include; the include guard may not be visible there, but we don't
actually need it to be: if we've already parsed the submodule we're considering
entering, it's always safe to skip it.
llvm-svn: 241135
|