| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
http://reviews.llvm.org/D12927
llvm-svn: 247933
|
|
|
|
|
|
|
|
| |
Mingw generally wraps an old copy of msvcrt.dll which has these
personalities, so things should work out, or so I hear. I haven't tested
it.
llvm-svn: 247902
|
|
|
|
|
|
| |
I was constructing an object without filling in all the fields.
llvm-svn: 247851
|
|
|
|
|
|
|
|
|
| |
This avoids building a fake LLVM IR global variable just to ferry an i32
down into LLVM codegen. It also puts a nail in the coffin of using MS
ABI C++ EH with landingpads, since now we'll assert in the lpad code
when flags are present.
llvm-svn: 247843
|
|
|
|
| |
llvm-svn: 247778
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ptr in dtor.
Summary:
After destruction, invocation of virtual functions prevented
by poisoning vtable pointer.
Reviewers: eugenis, kcc
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D12712
Fixed testing callback emission order to account for vptr.
Poison vtable in either complete or base dtor, depending on
if virtual bases exist. If virtual bases exist, poison in
complete dtor. Otherwise, poison in base.
Remove commented-out block.
llvm-svn: 247762
|
|
|
|
|
|
|
|
|
|
| |
Adding !invariant.group to vptr load/stores for devirtualization purposes.
For more goto:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
http://reviews.llvm.org/D12026
llvm-svn: 247725
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is dangerous to do LTO on code with strict-vtable-pointers, because
one module has invariant.group.barriers, and the other one not.
In the future I want to just strip all invariant.group metadata from
vptrs loads/stores and get rid of invariant.group.barrier calls.
http://reviews.llvm.org/D12580
llvm-svn: 247724
|
|
|
|
|
|
|
|
|
| |
For more goto:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
http://reviews.llvm.org/D12312
llvm-svn: 247723
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if 'cancel' is found.
Patch improves codegen for OpenMP constructs. If the OpenMP region does not have internal 'cancel' construct, a call to 'void __kmpc_barrier()' runtime function is generated for all implicit/explicit barriers. If the region has inner 'cancel' directive, then
```
if (__kmpc_cancel_barrier())
exit from outer construct;
```
code is generated.
Also, the code for 'canellation point' directive is not generated if parent directive does not have 'cancel' directive.
llvm-svn: 247681
|
|
|
|
|
|
|
|
| |
Patch by Pedro Ferreira.
Reviewers: pekka.jaaskelainen
Differential Revision: http://reviews.llvm.org/D12855
llvm-svn: 247676
|
|
|
|
| |
llvm-svn: 247655
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Generating call assume(icmp %vtable, %global_vtable) after constructor
call for devirtualization purposes.
For more info go to:
http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html
Edit:
Fixed version because of PR24479 and other bug caused in chrome.
After this patch got reverted because of ScalarEvolution bug (D12719)
Merged after John McCall big patch (Added Address).
http://reviews.llvm.org/D11859
http://reviews.llvm.org/D12865
llvm-svn: 247646
|
|
|
|
| |
llvm-svn: 247623
|
|
|
|
|
|
|
|
|
|
| |
Revert "Update cxx-irgen.cpp test to allow signext in alwaysinline functions."
Revert "[CodeGen] Remove wrapper-free always_inline functions from COMDATs"
Revert "Always_inline codegen rewrite."
Reason for revert: PR24793.
llvm-svn: 247620
|
|
|
|
|
|
|
|
|
| |
it escaped notice because it's only used for heterogeneous
initialization.
rdar://21397946
llvm-svn: 247597
|
|
|
|
|
|
|
|
|
|
| |
of uses of types already available elsewhere
These are a few cleanups I happened to have from trying to go in a
different direction recently, so just flushing them out while I have
them.
llvm-svn: 247593
|