| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18080
llvm-svn: 272273
|
| |
|
|
|
|
|
|
|
|
|
| |
It is possible for a field and a class to have the same name. In such
cases, performing lookup for the field might return a result set with
more than one entry. An overzealous assertion fired, causing us to
crash instead of using the non-class lookup result.
This fixes PR28060.
llvm-svn: 272247
|
| |
|
|
|
|
| |
directly in the header file instead of in CGBuiltin.cpp. Simplify the sse2 equivalents as well.
llvm-svn: 272246
|
| |
|
|
|
|
| |
palignr too.
llvm-svn: 272245
|
| |
|
|
|
|
| |
since empty argument list mean something else in C.
llvm-svn: 272244
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This should have been a very simple change, but it was greatly
complicated by the construction of new Decls during IR generation.
In particular, we reconstruct the AST function type in order to get the
implicit 'this' parameter into C++ method types.
We also have to worry about FunctionDecls whose types are not
FunctionTypes because CGBlocks.cpp constructs some dummy FunctionDecls
with 'void' type.
Depends on D21114
Reviewers: aprantl, dblaikie
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D21141
llvm-svn: 272198
|
| |
|
|
|
|
|
|
| |
Variably modified types shouldn't be permitted in catch clauses.
This fixes PR28047.
llvm-svn: 272159
|
| |
|
|
|
|
| |
Found by clang's misc-unused-using-decls.
llvm-svn: 272156
|
| |
|
|
|
|
|
|
| |
__builtin_astype does not generate correct LLVM IR for vec3 types. This patch inserts bitcasts to/from vec4 when necessary in addition to generating vector shuffle. Sema and codegen tests are added.
Differential Revision: http://reviews.llvm.org/D20133
llvm-svn: 272153
|
| |
|
|
|
|
|
|
|
|
|
|
| |
According to the Sparc V8 ABI, complex numbers should be passed and returned as pairs of registers:
https://docs.oracle.com/cd/E26502_01/html/E28387/gentextid-2734.html
This fix ensures this is the case. Without this, complex numbers are returned as a struct of two floats, which breaks the ABI rules.
Differential Review: http://reviews.llvm.org/D20955
llvm-svn: 272149
|
| |
|
|
| |
llvm-svn: 272143
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The JavaScript import sorter has a corner condition that can cause the overall
source text length to shrink. This change circumvents the issue by appending
trailing space in the line after the import blocks to match at least the
previous source code length.
This needs a better long term fix, but this fixes the immediate issue.
Reviewers: alexeagle, djasper
Subscribers: klimek
Differential Revision: http://reviews.llvm.org/D21108
llvm-svn: 272142
|
| |
|
|
|
|
|
|
| |
This will allow us to remove the x86 instrinics from the backend.
Differential Revision: http://reviews.llvm.org/D21060
llvm-svn: 272141
|
| |
|
|
| |
llvm-svn: 272136
|
| |
|
|
|
|
| |
This could lead to column limit violations.
llvm-svn: 272125
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
.. and simplify it.
Before:
void A::f()&& {}
void f() && {}
After:
void A::f() && {}
void f() && {}
llvm-svn: 272124
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21002
llvm-svn: 272123
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Only half of the intrinsics in this file is documented here. The patch for the o
ther half will be sent out later.
The doxygen comments are automatically generated based on Sony's intrinsics docu
ment.
I got an OK from Eric Christopher to commit doxygen comments without prior code
review upstream.
llvm-svn: 272121
|
| |
|
|
|
|
| |
ensure result is typecasted back to the generic types.
llvm-svn: 272119
|
| |
|
|
| |
llvm-svn: 272118
|
| |
|
|
|
|
| |
Cleanup setup of subtarget features.
llvm-svn: 272091
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Given the following C++:
```
void foo();
void foo() __attribute__((enable_if(false, "")));
bool bar() {
auto P = foo;
return P == foo;
}
```
We'll currently happily (and correctly) resolve `foo` to the `foo`
overload without `enable_if` when assigning to `P`. However, we'll
complain about an ambiguous overload on the `P == foo` line, because
`Sema::CheckPlaceholderExpr` doesn't recognize that there's only one
`foo` that could possibly work here.
This patch teaches `Sema::CheckPlaceholderExpr` how to properly deal
with such cases.
Grepping for other callers of things like
`Sema::ResolveAndFixSingleFunctionTemplateSpecialization`, it *looks*
like this is the last place that needed to be fixed up. If I'm wrong,
I'll see if there's something we can do that beats what amounts to
whack-a-mole with bugs.
llvm-svn: 272080
|
| |
|
|
|
|
|
|
|
|
| |
We attempted to use the UnaryTransformType's UnderlyingType instead of
it's BaseType. This is not correct for dependent UnaryTransformType
because the have no underlying type.
This fixes PR28045.
llvm-svn: 272079
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D21014
llvm-svn: 272012
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
function spans multiple files.
We have an assertion failure if, for example, the definition of an unused
inline function starts in one macro and ends in another. This patch fixes
the issue by finding the common ancestor of the start and end locations
of that function's body and changing the locations accordingly.
Thanks to NAKAMURA Takumi for helping with fixing the test failure on Windows.
Differential Revision: http://reviews.llvm.org/D20997
llvm-svn: 271995
|
| |
|
|
|
|
|
|
| |
Even with the fix in r271981, ASan is finding a stack use after return.
This reverts commits r271977 and r271981.
llvm-svn: 271984
|
| |
|
|
|
|
|
|
| |
Fix a compilation error on the bots involving brace initialization.
Differential Revision: http://reviews.llvm.org/D12761
llvm-svn: 271981
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
OpenCL should support array with const value size length, those const
varibale in global and constant address space and variable in constant
address space.
Fixed test case error.
Reviewers: Anastasia, yaxunl, bader
Subscribers: bader, cfe-commits
Differential Revision: http://reviews.llvm.org/D20090
llvm-svn: 271978
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Second try at reapplying
"[analyzer] Add checker for correct usage of MPI API in C and C++."
Special thanks to Dan Liew for helping test the fix for the template
specialization compiler error with gcc.
The original patch is by Alexander Droste!
Differential Revision: http://reviews.llvm.org/D12761
llvm-svn: 271977
|
| |
|
|
|
|
|
|
| |
function spans multiple files.
r271969 The test case fails on Windows.
llvm-svn: 271976
|
| |
|
|
|
|
|
|
| |
Test case break on system-z.
This reverts commit 9a7212e1e87f1396952d74f8c62314a775ccbb1c.
llvm-svn: 271975
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
OpenCL should support array with const value size length, those const varibale in global and constant address space and variable in constant address space.
Reviewers: Anastasia, yaxunl, bader
Subscribers: bader, cfe-commits
Differential Revision: http://reviews.llvm.org/D20090
llvm-svn: 271971
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
spans multiple files.
We have an assertion failure if, for example, the definition of an unused
inline function starts in one macro and ends in another. This patch fixes
the issue by finding the common ancestor of the start and end locations
of that function's body and changing the locations accordingly.
Differential Revision: http://reviews.llvm.org/D20997
llvm-svn: 271969
|
| |
|
|
|
|
|
|
| |
Fixes clang crash reported in PR27778.
Differential Revision: http://reviews.llvm.org/D20985
llvm-svn: 271951
|
| |
|
|
|
|
| |
expressions). This is required for traversing certain types (like function pointer types).
llvm-svn: 271927
|
| |
|
|
|
|
|
|
| |
and C++.""
This reverts commit r271914. It is still breaking bots.
llvm-svn: 271920
|
| |
|
|
|
|
|
|
|
| |
Reapply r271907 with a fix for the compiler error with gcc about specializing
clang::ento::ProgramStateTrait in a different namespace.
Differential Revision: http://reviews.llvm.org/D12761
llvm-svn: 271914
|
| |
|
|
|
|
|
| |
This reverts commit r271907. It broke a bunch of bots with compile errors
about specializations in different namespaces.
llvm-svn: 271909
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a static analysis checker to check for the correct usage of the
MPI API in C and C++.
3 path-sensitive checks are included:
- Double nonblocking: Double request usage by nonblocking calls
without intermediate wait.
- Missing wait: Nonblocking call without matching wait.
- Unmatched wait: Waiting for a request that was never used by a
nonblocking call.
Examples of how to use the checker can be found
at https://github.com/0ax1/MPI-Checker
Reviewers: zaks.anna
A patch by Alexander Droste!
Differential Revision: http://reviews.llvm.org/D12761
llvm-svn: 271907
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
triples.
Summary:
32-bit CPU's default to O32. 64-bit CPU's default to N64. The default CPU
(mips32r2/mips64r2) still depends on the arch so there's no functional
change when the CPU isn't specified but commands like:
clang -target mips-mti-linux-gnu -mips64r2
will now default to a 64-bit ABI like our gcc toolchains do* instead of
asserting in the backend**.
Other vendors (including Triple::UnknownVendor) still derive the default
ABI from the arch.
* Although not the same one as our gcc toolchains, clang has historically
defaulted to N64 where gcc defaults to N32.
** Mixing O32 and a 64-bit CPU causing assertions is a long-standing bug.
Reviewers: atanasyan
Subscribers: sdardis, cfe-commits
Differential Revision: http://reviews.llvm.org/D21016
llvm-svn: 271884
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: make header guard identification stricter with Lexer.
Reviewers: djasper
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D20959
llvm-svn: 271883
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Reviewers: atanasyan
Subscribers: cfe-commits, sdardis
Differential Revision: http://reviews.llvm.org/D20963
llvm-svn: 271877
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
setABI() is still tied to the Arch component of the Triple to preserve existing
behaviour.
Reviewers: atanasyan
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D20961
llvm-svn: 271875
|
| |
|
|
|
|
| |
the other palignr builtins, but with a select to handle masking.
llvm-svn: 271873
|
| |
|
|
|
|
| |
maskz_rsqrt28_sd mapped to mask_rsqrt28_sd and not to the maskz.
llvm-svn: 271836
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D20866
llvm-svn: 271835
|
| |
|
|
|
|
|
|
| |
_mm512_setzero_epi32
Differential Revision: http://reviews.llvm.org/D20871
llvm-svn: 271832
|
| |
|
|
|
|
| |
non-shared, PIE and shared output mode.
llvm-svn: 271801
|
| |
|
|
|
|
|
|
| |
undefined behavior for signed integer overflow.
This is really only needed for addition, subtraction, and multiplication, but I did the bitwise ops too for overall consistency. Clang currently doesn't set NSW for signed vector operations so the undefined behavior shouldn't happen today.
llvm-svn: 271778
|
| |
|
|
| |
llvm-svn: 271777
|