Eli Bendersky
b198b4e864
Rename loop unrolling and loop vectorizer metadata to have a common prefix.
...
[Clang part]
These patches rename the loop unrolling and loop vectorizer metadata
such that they have a common 'llvm.loop.' prefix. Metadata name
changes:
llvm.vectorizer.* => llvm.loop.vectorizer.*
llvm.loopunroll.* => llvm.loop.unroll.*
This was a suggestion from an earlier review
(http://reviews.llvm.org/D4090 ) which added the loop unrolling
metadata.
Patch by Mark Heffernan.
llvm-svn: 211712
2014-06-25 15:42:16 +00:00
Alexey Bataev
d3f8dd2d15
[OPENMP] Initial support for 'sections' directive.
...
llvm-svn: 211685
2014-06-25 11:44:49 +00:00
Alexey Bataev
e2f07d47fe
[OPENMP] Additional checking for 'collapse' clause.
...
llvm-svn: 211589
2014-06-24 12:55:56 +00:00
Alexey Bataev
549210e783
[OPENMP] Added initial checking of nesting of OpenMP regions.
...
llvm-svn: 211566
2014-06-24 04:39:47 +00:00
Alexey Bataev
236070f20d
[OPENMP] Initial support for 'nowait' clause.
...
llvm-svn: 211352
2014-06-20 11:19:47 +00:00
Alexey Bataev
142e1fc9ea
[OPENMP] Initial support for 'ordered' clause.
...
llvm-svn: 211347
2014-06-20 09:44:06 +00:00
Alexey Bataev
56dafe87c2
[OPENMP] Initial support for 'schedule' clause.
...
llvm-svn: 211342
2014-06-20 07:16:17 +00:00
Alexey Bataev
7ff5524f7e
[OPENMP] Improved diagnostic messages for vars with the predetermined data sharing attributes and reformatting
...
llvm-svn: 211262
2014-06-19 09:13:45 +00:00
Alexey Bataev
f29276edb7
[OPENMP] Initial support for '#pragma omp for' (fixed incompatibility with MSVC).
...
llvm-svn: 211140
2014-06-18 04:14:57 +00:00
Rafael Espindola
a566efbec9
Revert "[OPENMP] Initial support for '#pragma omp for'."
...
This reverts commit r211096. Looks like it broke the msvc build:
SemaOpenMP.cpp(140) : error C4519: default template arguments are only allowed on a class template
llvm-svn: 211113
2014-06-17 17:20:53 +00:00
Alexey Bataev
c77dd5257a
[OPENMP] Initial support for '#pragma omp for'.
...
llvm-svn: 211096
2014-06-17 11:49:22 +00:00
Alexey Bataev
c5e025831b
[OPENMP] Initial support of 'reduction' clause
...
llvm-svn: 211007
2014-06-16 07:08:35 +00:00
Alexey Bataev
15e4ee7852
Rnamed Class to TestClass
...
llvm-svn: 210305
2014-06-06 03:41:14 +00:00
Alexander Musman
1bb328cca5
[OPENMP] Parsing/Sema for OMPLasprivateClause.
...
Parsing this clause, allowing it on directive ‘omp simd’ and semantic checks.
llvm-svn: 210184
2014-06-04 13:06:39 +00:00
Alexander Musman
a8e9d2eccc
[OPENMP] Loop canonical form analysis (Sema)
...
This patch implements semantic analysis to make sure that the loop is in OpenMP canonical form.
This is the form required for 'omp simd', 'omp for' and other loop pragmas.
Differential revision: http://reviews.llvm.org/D3778
llvm-svn: 210095
2014-06-03 10:16:47 +00:00
Will Schmidt
22b065c748
allow optional signext attribute
...
Allow the tests to succeed with tne signext (or other) attribute is present. The attributes
show up for Power, but not for x86*, so need to be appropriately wildcarded.
llvm-svn: 210050
2014-06-02 21:47:14 +00:00
Alexander Musman
f0d76e7dc3
Parsing/Sema for OMPAlignedClause.
...
llvm-svn: 209816
2014-05-29 14:36:25 +00:00
Alexey Bataev
18b92eeacb
[OPENMP] Additional checking for local vars in initial values for threadprivate vars
...
llvm-svn: 209716
2014-05-28 07:40:25 +00:00
Alexander Musman
8bd31e69a4
Parsing/Sema for OMPCollapseClause.
...
Actual usage in Sema for collapsing loops will in some future patch.
llvm-svn: 209660
2014-05-27 15:12:19 +00:00
Alexander Musman
515ad8c490
This patch adds a helper class (CGLoopInfo) for marking memory instructions with llvm.mem.parallel_loop_access metadata.
...
It also adds a simple initial version of codegen for pragma omp simd (it will change in the future to support all the clauses).
Differential revision: http://reviews.llvm.org/D3644
llvm-svn: 209411
2014-05-22 08:54:05 +00:00
Alexey Bataev
0120ce8c9f
[OPENMP] Another one fix in test for msvc
...
llvm-svn: 208279
2014-05-08 04:44:21 +00:00
Alexey Bataev
3e4fa2fff7
[OPENMP] Fix codegen test for msvc build
...
llvm-svn: 208278
2014-05-08 04:33:26 +00:00
Alexey Bataev
c6be05db0f
[OPENMP] Fixed checking for mangled names in parallel_codegen.cpp test
...
llvm-svn: 208165
2014-05-07 07:02:29 +00:00
Alexey Bataev
15007ba94a
[OPENMP] Fixed problem with temp removal on some platforms in codegen for '#pragma omp parallel'
...
llvm-svn: 208162
2014-05-07 06:18:01 +00:00
Alexey Bataev
79eed41840
[OPENMP] Temporarily disable test parallel_codegen.cpp
...
llvm-svn: 208156
2014-05-07 04:47:36 +00:00
Alexey Bataev
0b397eaf93
[OPENMP] Another one fix for codegen test '#pragma omp parallel'
...
llvm-svn: 208087
2014-05-06 13:15:00 +00:00
Alexey Bataev
795b88b040
[OPENMP] Fixed test for '#pragma omp parallel' codegen
...
llvm-svn: 208086
2014-05-06 13:02:17 +00:00
Alexey Bataev
e357df8eae
[OPENMP] Temporary disable test for parallel codegen
...
llvm-svn: 208078
2014-05-06 10:51:53 +00:00
Alexey Bataev
9959db5fa9
[OPENMP] Initial codegen for '#pragma omp parallel'
...
llvm-svn: 208077
2014-05-06 10:08:46 +00:00
Alexey Bataev
bcbadb65ab
[OPENMP] 'proc_bind' clause support - Parsing and sema analysis for OpenMP clause 'proc_bind'
...
llvm-svn: 208060
2014-05-06 06:04:14 +00:00
Alexander Musman
8dba66412b
[OPENMP] parsing 'linear' clause (for directive 'omp simd')
...
Differential Revision: http://reviews.llvm.org/D3272
llvm-svn: 206891
2014-04-22 13:09:42 +00:00
David Blaikie
abe1a398e3
Render anonymous entities as '(anonymous <thing>)' (and lambdas as '(lambda at ... )')
...
For namespaces, this is consistent with mangling and GCC's debug info
behavior. For structs, GCC uses <anonymous struct> but we prefer
consistency between all anonymous entities but don't want to confuse
them with template arguments, etc, so we'll just go with parens in all
cases.
llvm-svn: 205398
2014-04-02 05:58:29 +00:00
Alexey Bataev
d48bcd8a46
[OPENMP] Implemented 'copyin' clause
...
llvm-svn: 205164
2014-03-31 03:36:38 +00:00
Alexey Bataev
62c87d2509
[OPENMP] parsing of clause 'safelen' (for directive 'omp simd')
...
llvm-svn: 204428
2014-03-21 04:51:18 +00:00
Alexey Bataev
d178ad4943
[OPENMP] Small update in threadprivate variables processing to fix template instantiation.
...
llvm-svn: 203214
2014-03-07 08:03:37 +00:00
Alexey Bataev
648250a2e5
[OPENMP] Fixed linked libraries for libiomp5 on Linux
...
llvm-svn: 203212
2014-03-07 07:43:52 +00:00
Alexey Bataev
d4dbdf5438
[OPENMP] Updated comments and _OPENMP macro value for OpenMP 4.0 (for 'omp simd' support)
...
llvm-svn: 203114
2014-03-06 12:27:56 +00:00
Alexey Bataev
178d599143
[OPENMP] Missed test for 'simd private'
...
llvm-svn: 203108
2014-03-06 11:48:22 +00:00
Alexey Bataev
568a833f68
[OPENMP] Clause 'num_threads'
...
llvm-svn: 203087
2014-03-06 06:15:19 +00:00
Alexey Bataev
186b28a8cf
[OPENMP] Added option -fopenmp=libiomp5|libgomp
...
llvm-svn: 203081
2014-03-06 05:43:53 +00:00
Alexey Bataev
2759a7c9c0
[OPENMP] allow clause 'private' on directive 'omp simd'
...
llvm-svn: 202944
2014-03-05 07:21:14 +00:00
Alexey Bataev
18a3764b4f
[OPENMP] emit error message for clause 'if(1 0)'
...
llvm-svn: 202942
2014-03-05 06:53:13 +00:00
Alexey Bataev
af7849e7c7
[OPNEMP] Fixed instantiation of 'if' clause
...
llvm-svn: 202940
2014-03-05 06:45:14 +00:00
Alexey Bataev
1b59ab5683
[OPENMP] First changes for Parsing and Sema for 'omp simd' directive support
...
llvm-svn: 202360
2014-02-27 08:29:12 +00:00
Alexey Bataev
aadd52e5cc
[OPENMP] 'if' clause support (no CodeGen support)
...
llvm-svn: 201297
2014-02-13 05:29:23 +00:00
Alexey Bataev
ec3da87f82
[OPENMP] Bug fixes in threadprivate declaration and data sharing attributes processing. ( http://llvm-reviews.chandlerc.com/D2451 )
...
llvm-svn: 200513
2014-01-31 05:15:34 +00:00
Alp Toker
1d8362cd19
Enhance OpenMP parser tests from r197553 / r197598
...
Move some of the verifier directives away from the end of the pragma line.
This ensures that the diagnostics relate to the trailing token being tested and
not the verifier comments which are themselves part of the token stream.
llvm-svn: 197616
2013-12-18 22:34:19 +00:00
Alp Toker
b14a4709f5
Fix OpenMP recovery with trailing tokens following the pragma
...
The recovery was failing due to a missing case in SkipUntil().
Also add back tests from r197553 that were reverted in the previous commit.
llvm-svn: 197598
2013-12-18 19:10:54 +00:00
Alp Toker
d751fa7868
Revert "[OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens"
...
These parser changes were redundant. The same or better recovery can be
achieved with a one-line fix to SkipUntil() due to land in the next commit.
This reverts commit r197553.
llvm-svn: 197597
2013-12-18 19:10:49 +00:00
Alexey Bataev
cb164ab273
[OPENMP] Fix for parsing OpenMP directives with extra braces, brackets and parens
...
llvm-svn: 197553
2013-12-18 08:46:25 +00:00
Alp Toker
3364fe149c
Disable test fully with REQUIRES
...
Third time's the charm, sorry for the noise.
llvm-svn: 194076
2013-11-05 13:27:19 +00:00
Alp Toker
53b74accc7
Disable the test that crashes
...
XFAIL wasn't enough for some of the build servers.
llvm-svn: 194073
2013-11-05 12:55:00 +00:00
Alp Toker
6731f38aca
Fix a test that was never being run, mark it XFAIL
...
Turns out this has always been crashing since the test landed in
r186647:
Assertion failed: (Access != AS_none && "Access specifier is AS_none inside a record decl"), function CheckAccessDeclContext, file clang/lib/AST/DeclBase.cpp, line 690.
Needs attention.
llvm-svn: 194072
2013-11-05 12:45:46 +00:00
Alexey Bataev
d5af8e472d
[OpenMP] Added parsing and semantic analysis for firstprivate clause
...
llvm-svn: 191730
2013-10-01 05:32:34 +00:00
Alexey Bataev
7d2960bd2a
[OPENMP] Improved variable lookup procedure for threadprivate variables.
...
llvm-svn: 191416
2013-09-26 03:24:06 +00:00
Richard Smith
12a41bd3e0
Add some missing ProhibitAttributes calls to some declaration-like #pragmas.
...
llvm-svn: 190806
2013-09-16 21:17:44 +00:00
Alexey Bataev
758e55ee58
OpenMP: Data-sharing attributes analysis and clause 'shared' (fixed test threadprivate_messages.cpp)
...
llvm-svn: 190183
2013-09-06 18:03:48 +00:00
Rafael Espindola
e892ccec0d
Revert "OpenMP: Data-sharing attributes analysis and clause 'shared'"
...
This reverts commit r189795.
threadprivate_messages.cpp is faling on windows.
llvm-svn: 189811
2013-09-03 14:33:09 +00:00
Alexey Bataev
d4183dabd7
OpenMP: Data-sharing attributes analysis and clause 'shared'
...
llvm-svn: 189795
2013-09-03 12:55:52 +00:00
Richard Smith
f9b1510576
Refactor all diagnosing of TypoCorrections through a common function, in
...
preparation for teaching this function how to diagnose a correction that
includes importing a module.
llvm-svn: 188602
2013-08-17 00:46:16 +00:00
Alexey Bataev
5ec3eb11fc
OpenMP: basic support for #pragma omp parallel
...
llvm-svn: 186647
2013-07-19 03:13:43 +00:00
Alexey Bataev
6f6f3b4baf
OpenMP threadprivate with qualified names.
...
llvm-svn: 181683
2013-05-13 04:18:18 +00:00
Alexey Bataev
a769e07232
OpenMP threadprivate directive parsing and semantic analysis
...
llvm-svn: 177705
2013-03-22 06:34:35 +00:00
Alexey Bataev
353fba6cdd
test commit
...
llvm-svn: 177701
2013-03-22 05:24:29 +00:00
Chandler Carruth
0153800601
Add initial rough support for synthesizing linker options when passed
...
-fopenmp in the link step on Linux. There is probably more tweaking that
will need to take place to get good support for linking the relevant
libraries on all Linux distributions and/or on other platforms, but this
get's the ball moving and allows Clang to build programs which contain
OpenMP pragmas that can be safely ignored by a compiler that doesn't
implement them, and yet makes direct calls into the OpenMP runtime.
llvm-svn: 172715
2013-01-17 13:19:29 +00:00
Douglas Gregor
1517128912
Add -fopenmp -cc1 option and wire it up to define _OPENMP, from Alexey Bataev!
...
llvm-svn: 172509
2013-01-15 06:45:29 +00:00