| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
when building a module.
llvm-svn: 249282
|
|
|
|
|
|
| |
+couple more of double-negated !SourceLocation.isInvalid() unfixed in r249228.
llvm-svn: 249235
|
|
|
|
|
|
| |
SourceLocation.isValid().
llvm-svn: 249228
|
|
|
|
|
|
|
|
|
|
|
| |
I randomly came across this difference between AArch64 and other targets:
on the latter, we don't emit nil checks for known non-nil class method
calls thanks to r247350, but we still do for AArch64 stret calls.
They use different code paths, because those are special, as they go
through the regular msgSend, not the msgSend*_stret variants.
llvm-svn: 249205
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that the vptr store in the most-derived constructor is not behind
an invariant group barrier. Previously, the base-most vptr store would
be the one behind no barrier, and that could result in the creator of
the object thinking it had the base-most vtable.
This bug caused clang call pure virtual functions when called from
constructor body.
http://reviews.llvm.org/D13373
llvm-svn: 249197
|
|
|
|
| |
llvm-svn: 249179
|
|
|
|
| |
llvm-svn: 249176
|
|
|
|
|
|
| |
A forward declaration inside a module header does not belong to the module.
llvm-svn: 249157
|
|
|
|
| |
llvm-svn: 249155
|
|
|
|
|
|
|
|
|
|
|
| |
This patch implements the outlining for offloading functions for code
annotated with the OpenMP target directive. It uses a temporary naming
of the outlined functions that will have to be updated later on once
target side codegen and registration of offloading libraries is
implemented - the naming needs to be made unique in the produced
library.
llvm-svn: 249148
|
|
|
|
|
|
| |
in their module scope when building a clang module.
llvm-svn: 249031
|
|
|
|
|
|
|
| |
This reverts commit r248982 as it was breaking the ARM buildbots and the fix didn't work.
This reverts commit r248984, the fix that didn't work.
llvm-svn: 249005
|
|
|
|
|
|
| |
http://reviews.llvm.org/D13279
llvm-svn: 248982
|
|
|
|
|
|
| |
building a clang module.
llvm-svn: 248974
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: __nvvm_atom_cas_* returns the old value instead of whether the swap succeeds.
Reviewers: eliben, tra
Subscribers: jholewinski, llvm-commits
Differential Revision: http://reviews.llvm.org/D13306
llvm-svn: 248951
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove virtual SC_OpenCLWorkGroupLocal storage type specifier
as it conflicts with static local variables now and prevents
diagnosing static local address space variables correctly.
- Allow static local and global variables (OpenCL2.0 s6.8 and s6.5.1).
- Improve diagnostics of allowed ASes for variables in different scopes:
(i) Global or static local variables have to be in global
or constant ASes (OpenCL1.2 s6.5, OpenCL2.0 s6.5.1);
(ii) Non-kernel function variables can't be declared in local
or constant ASes (OpenCL1.1 s6.5.2 and s6.5.3).
http://reviews.llvm.org/D13105
llvm-svn: 248906
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vst([1234]|[234]lane) instructions
This is the clang commit associated with llvm r248887.
This commit changes the interface of the vld[1234], vld[234]lane, and vst[1234],
vst[234]lane ARM neon intrinsics and associates an address space with the
pointer that these intrinsics take. This changes, e.g.,
<2 x i32> @llvm.arm.neon.vld1.v2i32(i8*, i32)
to
<2 x i32> @llvm.arm.neon.vld1.v2i32.p0i8(i8*, i32)
This change ensures that address spaces are fully taken into account in the ARM
target during lowering of interleaved loads and stores.
Differential Revision: http://reviews.llvm.org/D13127
llvm-svn: 248888
|
|
|
|
|
|
| |
with a non-reserved operator delete in a new-expression.
llvm-svn: 248862
|
|
|
|
|
|
|
|
|
|
| |
files; other minor cleanups.
By Eugene Zelenko!
Differential Revision: http://reviews.llvm.org/D13187
llvm-svn: 248828
|
|
|
|
|
|
| |
be modified in between. (NFC)
llvm-svn: 248826
|
|
|
|
|
|
|
|
|
| |
Sema thinks the cast is a no-op, as it does when (e.g.) the
only thing that changes is an alignment attribute.
Fixed PR24944.
llvm-svn: 248775
|
|
|
|
|
|
| |
anyway. NFC
llvm-svn: 248774
|
|
|
|
|
|
|
|
|
|
|
| |
Description.
If the simd clause is specified, the ordered regions encountered by any thread will use only a single SIMD lane to execute the ordered regions in the order of the loop iterations.
Restrictions.
An ordered construct with the simd clause is the only OpenMP construct that can appear in the simd region.
An ordered directive with ‘simd’ clause is generated as an outlined function and corresponding function call to prevent this part of code from vectorization later in backend.
llvm-svn: 248772
|
|
|
|
|
|
| |
Thanks to echristo for noticing!
llvm-svn: 248762
|
|
|
|
|
|
|
| |
Temporary fix till InstCombine and other possible passes will be
efficient to handle multiple assumes.
llvm-svn: 248734
|
|
|
|
|
|
|
|
|
|
|
| |
Parsing and sema analysis for 'simd' clause in 'ordered' directive.
Description
If the simd clause is specified, the ordered regions encountered by any thread will use only a single SIMD lane to execute the ordered
regions in the order of the loop iterations.
Restrictions
An ordered construct with the simd clause is the only OpenMP construct that can appear in the simd region
llvm-svn: 248696
|
|
|
|
| |
llvm-svn: 248678
|
|
|
|
|
|
| |
The types of the fields are trivially copyable. NFC
llvm-svn: 248659
|
|
|
|
| |
llvm-svn: 248658
|
|
|
|
| |
llvm-svn: 248645
|
|
|
|
|
|
|
|
| |
OpenMP 4.1 extends format of '#pragma omp ordered'. It adds 3 additional clauses: 'threads', 'simd' and 'depend'.
If no clause is specified, the ordered construct behaves as if the threads clause had been specified. If the threads clause is specified, the threads in the team executing the loop region execute ordered regions sequentially in the order of the loop iterations.
The loop region to which an ordered region without any clause or with a threads clause binds must have an ordered clause without the parameter specified on the corresponding loop directive.
llvm-svn: 248569
|
|
|
|
| |
llvm-svn: 248511
|
|
|
|
|
|
| |
This way we don't need to rebuild the full module name for every decl.
llvm-svn: 248510
|
|
|
|
| |
llvm-svn: 248509
|
|
|
|
|
|
|
|
|
|
|
| |
when building a module. Clang already records the module signature when
building a skeleton CU to reference a clang module.
Matching the id in the skeleton with the one in the module allows a DWARF
consumer to verify that they found the correct version of the module
without them needing to know about the clang module format.
llvm-svn: 248345
|
|
|
|
|
|
|
|
|
|
|
|
| |
* adds -aux-triple option to specify target triple
* propagates aux target info to AST context and Preprocessor
* pulls in target specific preprocessor macros.
* pulls in target-specific builtins from aux target.
* sets appropriate host or device attribute on builtins.
Differential Revision: http://reviews.llvm.org/D12917
llvm-svn: 248299
|
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes an assert that is triggered when optnone is being
added to an IR function that is already marked with minsize and optsize.
rdar://problem/22723716
Differential Revision: http://reviews.llvm.org/D13004
llvm-svn: 248191
|
|
|
|
| |
llvm-svn: 248184
|
|
|
|
| |
llvm-svn: 248127
|
|
|
|
|
|
|
|
| |
by dropping the const qualifier on the CI.
NFC
llvm-svn: 248101
|
|
|
|
|
|
| |
DIBuilder ignoers DICompileUnits that are passed in as scopes anyway.
llvm-svn: 248077
|
|
|
|
| |
llvm-svn: 248070
|
|
|
|
|
|
|
|
| |
of ASTSourceDescriptor. It was effectively a static function.
NFC.
llvm-svn: 248069
|
|
|
|
| |
llvm-svn: 248068
|
|
|
|
|
|
|
|
|
| |
We don't want a skeleton CU when generating debug info for the module
itself.
NFC.
llvm-svn: 248062
|
|
|
|
|
|
|
|
| |
by passing in a CompilerInstance instead of all its individual members.
NFC.
llvm-svn: 248053
|
|
|
|
|
|
|
|
|
|
|
| |
The signature may not have been computed at the time the module reference
is generated (e.g.: in the future while emitting debug info for a clang
module). Using the full module name is safe because each clang module may
only have a single definition.
NFC.
llvm-svn: 248037
|
|
|
|
| |
llvm-svn: 247981
|
|
|
|
|
|
| |
Add parsing, sema analysis and codegen for 'if' clause in 'cancel' directive.
llvm-svn: 247976
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This change adds support for `__builtin_ms_va_list`, a GCC extension for
variadic `ms_abi` functions. The existing `__builtin_va_list` support is
inadequate for this because `va_list` is defined differently in the Win64
ABI vs. the System V/AMD64 ABI.
Depends on D1622.
Reviewers: rsmith, rnk, rjmccall
CC: cfe-commits
Differential Revision: http://reviews.llvm.org/D1623
llvm-svn: 247941
|