| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add parsing, sema analysis for 'declare target' construct for OpenMP 4.0
(4.5 support will be added in separate patch).
The declare target directive specifies that variables, functions (C, C++
and Fortran), and subroutines (Fortran) are mapped to a device. The declare
target directive is a declarative directive. In Clang declare target is
implemented as implicit attribute for the declaration.
The syntax of the declare target directive is as follows:
#pragma omp declare target
declarations-definition-seq
#pragma omp end declare target
Based on patch from Michael Wong http://reviews.llvm.org/D15321
llvm-svn: 265530
|
| |
|
|
|
|
| |
This reverts commit r265518.
llvm-svn: 265526
|
| |
|
|
| |
llvm-svn: 265518
|
| |
|
|
| |
llvm-svn: 265488
|
| |
|
|
|
|
|
|
| |
This is a fix for https://llvm.org/bugs/show_bug.cgi?id=25561 which was a
crash on invalid. Change the handling of invalid decls to have a catch-all
case to prevent unexpecting decls from triggering an assertion.
llvm-svn: 265467
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Fix failing tests from no-jump-table flag addition
Reviewers: jyknight
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18801
llvm-svn: 265439
|
| |
|
|
|
|
| |
For some reason it was hidden.
llvm-svn: 265436
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Setting this flag causes all functions are annotated with the
"nvvm-f32ftz" = "true" attribute.
In addition, we annotate the module with "nvvm-reflect-ftz" set
to 0 or 1, depending on whether -cuda-flush-denormals-to-zero is set.
This is read by the NVVMReflect pass.
Reviewers: tra, rnk
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D18671
llvm-svn: 265435
|
| |
|
|
| |
llvm-svn: 265432
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add no-jump-tables flag to disable use of jump tables when lowering
switch statements
Reviewers: echristo, hans
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D18407
llvm-svn: 265425
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18651
llvm-svn: 265405
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Before:
auto x = (X) this;
After:
auto x = (X)this;
This fixes llvm.org/PR27198.
llvm-svn: 265385
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The parsing logic has been separated out from the macro implementation logic, leading to a number of improvements:
* Gracefully handle unexpected/invalid tokens, too few, too many and nested parameters
* Provide consistent behaviour between all built-in feature-like macros
* Simplify the implementation of macro logic
* Fix __is_identifier to correctly return '0' for non-identifiers
Reviewers: doug.gregor, rsmith
Subscribers: rsmith, cfe-commits
Differential Revision: http://reviews.llvm.org/D17149
llvm-svn: 265381
|
| |
|
|
| |
llvm-svn: 265364
|
| |
|
|
| |
llvm-svn: 265362
|
| |
|
|
|
|
|
|
| |
Patch by Douglas Yung!
Differential Revision: http://reviews.llvm.org/D18708
llvm-svn: 265359
|
| |
|
|
| |
llvm-svn: 265355
|
| |
|
|
|
|
| |
it was supposed to have been used.
llvm-svn: 265344
|
| |
|
|
|
|
|
|
|
|
| |
when using modules/vfs
The reproducer should use -I/-F/-resource-dir in the same way as the
original command. The VFS already collects the right headers but without
these flags the reproducer will fail to do the right thing.
llvm-svn: 265343
|
| |
|
|
| |
llvm-svn: 265341
|
| |
|
|
|
|
| |
Also, a little minor cleanup
llvm-svn: 265338
|
| |
|
|
|
|
| |
Thanks to Sean Silva for pointing this out.
llvm-svn: 265328
|
| |
|
|
|
|
|
|
|
|
| |
The module.modulemap file in the lib/Headers directory was missing the LLVM
copyright notice. This patch adds the copyright notice just like the rest of
the files in this directory.
Differential Revision: http://reviews.llvm.org/D18709
llvm-svn: 265325
|
| |
|
|
| |
llvm-svn: 265324
|
| |
|
|
| |
llvm-svn: 265323
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch implements the teams directive for the NVPTX backend. It is different from the host code generation path as it:
Does not call kmpc_fork_teams. All necessary teams and threads are started upon touching the target region, when launching a CUDA kernel, and their execution is coordinated through sequential and parallel regions within the target region.
Does not call kmpc_push_num_teams even if a num_teams of thread_limit clause is present. Setting the number of teams and the thread limit is implemented by the nvptx-related runtime.
Please note that I am now passing a Clang Expr * to emitPushNumTeams instead of the originally chosen llvm::Value * type. The reason for that is that I want to avoid emitting expressions for num_teams and thread_limit if they are not needed in the target region.
http://reviews.llvm.org/D17963
llvm-svn: 265304
|
| |
|
|
|
|
|
| |
- Externalize the registry.
- Update libdeps.
llvm-svn: 265301
|
| |
|
|
|
|
|
|
|
|
| |
This allows plugins which add AST passes to also define pragmas to do things
like only enable certain behaviour of the AST pass in files where a certain
pragma is used.
Differential Revision: http://reviews.llvm.org/D18319
llvm-svn: 265295
|
| |
|
|
|
|
|
|
|
| |
simd'.
Added parsing/semantic analysis for 'inbranch|notinbranch' clauses of
'#pragma omp declare simd' construct.
llvm-svn: 265287
|
| |
|
|
|
|
|
| |
The test was failing on some release build because the basic block names
I was expecting weren't printed.
llvm-svn: 265257
|
| |
|
|
| |
llvm-svn: 265252
|
| |
|
|
|
|
|
| |
Before this change, e.g. -isystem flags in front of the /FI corresponding to the
pch file would be incorrectly ignored.
llvm-svn: 265238
|
| |
|
|
|
|
|
| |
lit uses "UNSUPPORTED:" for its own purposes and may be
confused if that text appears elsewhere in the test file.
llvm-svn: 265218
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The objc_runtime_visible attribute deals with an odd corner case where
a particular Objective-C class is known to the Objective-C runtime
(and, therefore, accessible by name) but its symbol has been hidden
for some reason. For such classes, teach CodeGen to use
objc_lookUpClass to retrieve the Class object, rather than referencing
the class symbol directly.
Classes annotated with objc_runtime_visible have two major limitations
that fall out from places where Objective-C metadata needs to refer to
the class (or metaclass) symbol directly:
* One cannot implement a subclass of an objc_runtime_visible class.
* One cannot implement a category on an objc_runtime_visible class.
Implements rdar://problem/25494092.
llvm-svn: 265201
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
landing pads.
Previously, lifetime.end intrinsics were inserted only on normal control
flows. This prevented StackColoring from merging stack slots for objects
that were destroyed on the exception handling control flow since it
couldn't tell their lifetime ranges were disjoint. This patch fixes
code-gen to emit the intrinsic on both control flows.
rdar://problem/22181976
Differential Revision: http://reviews.llvm.org/D18196
llvm-svn: 265197
|
| |
|
|
|
|
|
|
| |
a separate class. The goal is for this class to have a separate lifetime from
the AST writer so that it can meaningfully track pending statement nodes and
context for more compact encoding of various types.
llvm-svn: 265195
|
| |
|
|
| |
llvm-svn: 265187
|
| |
|
|
|
|
|
| |
For completeness, add a test-case for the equivalent stringize operator
diagnostic too.
llvm-svn: 265177
|
| |
|
|
|
|
|
|
| |
The cc1 invocation in the reproducer script should contain a valid path in
-fmodule-cache-path; for that reuse "<name>.cache/module" dir we already
use to dump the vfs and modules.
llvm-svn: 265162
|
| |
|
|
| |
llvm-svn: 265146
|
| |
|
|
| |
llvm-svn: 265127
|
| |
|
|
| |
llvm-svn: 265126
|
| |
|
|
|
|
|
|
|
|
| |
This can happen as we look for '<<<<' while scanning tokens but then expect
'<<<<\n' to tell apart perforce from diff3 conflict markers. Just harden
the pointer arithmetic.
Found by libfuzzer + asan!
llvm-svn: 265125
|
| |
|
|
| |
llvm-svn: 265123
|
| |
|
|
|
|
|
|
|
|
| |
directives.
OpenMP 4.5 allows privatization of non-static data members in non-static
member functions. Patch allows to use and implicit privatization of data
members used as counters in loop-based directives.
llvm-svn: 265121
|
| |
|
|
|
|
|
| |
This reverts commit http://reviews.llvm.org/rL265003. After some
thoughts decided to emit errors here.
llvm-svn: 265119
|
| |
|
|
|
|
|
|
| |
Displays a template specialization as, say, A<int, double>. Does not
yet handle UncommonTemplateNameStorage, QualifiedTemplateName, or
DependentTemplateName, but still more than worthwhile
llvm-svn: 265104
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In ObjCMethodCall:getRuntimeDefinition(), if the method is an accessor in a
category, and it doesn't have a self declaration, first try to find the method
in a class extension. This works around a bug in Sema where multiple accessors
are synthesized for properties in class extensions that are redeclared in a
category. The implicit parameters are not filled in for the method on the
category, which causes a crash when trying to synthesize a getter for the
property in BodyFarm. The Sema bug is tracked as rdar://problem/25481164.
rdar://problem/25056531
llvm-svn: 265103
|
| |
|
|
|
|
| |
We're #including the wrong file!
llvm-svn: 265083
|
| |
|
|
|
|
|
|
|
| |
EmissionKind moved from DIBuilder to DICompileUnit.
<rdar://problem/25427165>
llvm-svn: 265078
|