Alexey Bataev
d5af8e472d
[OpenMP] Added parsing and semantic analysis for firstprivate clause
...
llvm-svn: 191730
2013-10-01 05:32:34 +00:00
Eli Friedman
dc41d791f9
Add unused markings to suppress warnings.
...
trunk clang is a bit more aggressive about emitting unused-declaration
warnings, so adjust some AST code to match. Specifically, use
LLVM_ATTRIBUTE_UNUSED for declarations which are never supposed to be
referenced, and turn references to declarations which are supposed to be
referenced into odr-uses.
llvm-svn: 190443
2013-09-10 22:57:15 +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
Pavel Labath
515f4db4f9
Remove useless reinterpret_casts from Stmt.cpp
...
Summary:
I have no idea why these were there in the first place, but now they are
certainly not necessary.
Reviewers: rsmith
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1581
llvm-svn: 189813
2013-09-03 14:41:16 +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
Craig Topper
c571c810bf
Constify some more ASTContext& uses.
...
llvm-svn: 188989
2013-08-22 06:02:26 +00:00
Craig Topper
e6960e2db5
Constify the ASTContext& passed to Stmt creation functions. Also constify the context in couple other functions that are called from creation functions.
...
llvm-svn: 188986
2013-08-22 05:28:54 +00:00
Craig Topper
cee6133930
Revert accidental commit.
...
llvm-svn: 188862
2013-08-21 04:01:01 +00:00
Craig Topper
9c4d17f65c
Replace avx-512 with avx512f to match llvm side and what gcc patches appear to be using.
...
llvm-svn: 188860
2013-08-21 03:59:22 +00:00
Craig Topper
33b4cde2f2
Revert r188756 because some other changes snuck in with it.
...
llvm-svn: 188757
2013-08-20 07:07:29 +00:00
Craig Topper
ffb7180e96
Add AVX-512 feature flag and knl cpu to clang.
...
llvm-svn: 188756
2013-08-20 07:05:05 +00:00
Craig Topper
e691fce6e4
Make the version of Stmt::operator new that takes ASTContext* call the ASTContext& version in Stmt inline instead of having two out of line functions that both call to the global versions.
...
llvm-svn: 188648
2013-08-19 03:11:34 +00:00
Craig Topper
048b883416
Revert r188644 to unbreak buildbots.
...
llvm-svn: 188645
2013-08-18 20:38:37 +00:00
Craig Topper
260f7e6893
Remove Stmt::operator new that takes a ASTContext*. All callers use the ASTContext& version.
...
llvm-svn: 188644
2013-08-18 20:03:21 +00:00
Craig Topper
5a050016bb
Remove throw() from Stmt::operator new so the compiler will omit the null check on the result since ASTContext allocator won't return null.
...
llvm-svn: 188641
2013-08-18 17:45:38 +00:00
Craig Topper
3793291d50
Make expression allocation methods use a 'const' reference to the ASTContext since the underlying operator new only needs a const reference.
...
llvm-svn: 188636
2013-08-18 10:09:15 +00:00
Alexey Bataev
5ec3eb11fc
OpenMP: basic support for #pragma omp parallel
...
llvm-svn: 186647
2013-07-19 03:13:43 +00:00
Eli Friedman
b998bff32b
Delete dead code.
...
llvm-svn: 185101
2013-06-27 20:48:08 +00:00
Richard Smith
ba71c08523
First pass of semantic analysis for init-captures: check the initializer, build
...
a FieldDecl from it, and propagate both into the closure type and the
LambdaExpr.
You can't do much useful with them yet -- you can't use them within the body
of the lambda, because we don't have a representation for "the this of the
lambda, not the this of the enclosing context". We also don't have support or a
representation for a nested capture of an init-capture yet, which was intended
to work despite not being allowed by the current standard wording.
llvm-svn: 181985
2013-05-16 06:20:58 +00:00
Wei Pan
17fbf6edc2
Implement template support for CapturedStmt
...
- Sema tests added and CodeGen tests are pending
Differential Revision: http://llvm-reviews.chandlerc.com/D728
llvm-svn: 181101
2013-05-04 03:59:06 +00:00
Ben Langmuir
ce914fc84b
Serialization for captured statements
...
Add serialization for captured statements and captured decls. Also add
a const_capture_iterator to CapturedStmt.
Test contributed by Wei Pan
Differential Revision: http://llvm-reviews.chandlerc.com/D727
llvm-svn: 181048
2013-05-03 19:20:19 +00:00
John McCall
f413f5ed44
Move parsing of identifiers in MS-style inline assembly into
...
the actual parser and support arbitrary id-expressions.
We're actually basically set up to do arbitrary expressions here
if we wanted to.
Assembly operands permit things like A::x to be written regardless
of language mode, which forces us to embellish the evaluation
context logic somewhat. The logic here under template instantiation
is incorrect; we need to preserve the fact that an expression was
unevaluated. Of course, template instantiation in general is fishy
here because we have no way of delaying semantic analysis in the
MC parser. It's all just fishy.
I've also fixed the serialization of MS asm statements.
This commit depends on an LLVM commit.
llvm-svn: 180976
2013-05-03 00:10:13 +00:00
Tareq A. Siraj
6dfa25a19f
Sema for Captured Statements
...
Add CapturedDecl to be the DeclContext for CapturedStmt, and perform semantic
analysis. Currently captures all variables by reference.
TODO: templates
Author: Ben Langmuir <ben.langmuir@intel.com>
Differential Revision: http://llvm-reviews.chandlerc.com/D433
llvm-svn: 179618
2013-04-16 19:37:38 +00:00
Tareq A. Siraj
24110cc733
Implement CapturedStmt AST
...
CapturedStmt can be used to implement generic function outlining as described in
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-January/027540.html .
CapturedStmt is not exposed to the C api.
Serialization and template support are pending.
Author: Wei Pan <wei.pan@intel.com>
Differential Revision: http://llvm-reviews.chandlerc.com/D370
llvm-svn: 179615
2013-04-16 18:53:08 +00:00
Jordan Rose
a7d03840e6
Excise <cctype> from Clang (except clang-tblgen) in favor of CharInfo.h.
...
Nearly all of these changes are one-to-one replacements; the few that
aren't have to do with custom identifier validation.
llvm-svn: 174768
2013-02-08 22:30:41 +00:00
Nico Weber
9dff378a12
ArrayRefize CXXTryStmt.
...
llvm-svn: 171239
2012-12-29 20:13:03 +00:00
Nico Weber
a2a0eb940a
ArrayRefize a CompoundStmt constructor.
...
llvm-svn: 171238
2012-12-29 20:03:39 +00:00
Erik Verbruggen
11a2eccc8b
Fix for PR12222.
...
Changed getLocStart() and getLocEnd() to be required for Stmts, and make
getSourceRange() optional. The default implementation for getSourceRange()
is build the range by calling getLocStart() and getLocEnd().
llvm-svn: 171067
2012-12-25 14:51:39 +00:00
Benjamin Kramer
444a1304ad
Include pruning and general cleanup.
...
llvm-svn: 169095
2012-12-01 17:12:56 +00:00
Benjamin Kramer
ea70eb30a0
Pull the Attr iteration parts out of Attr.h, so including DeclBase.h doesn't pull in all the generated Attr code.
...
Required to pull some functions out of line, but this shouldn't have a perf impact.
No functionality change.
llvm-svn: 169092
2012-12-01 15:09:41 +00:00
Chad Rosier
f8037a1fb6
[ms-inline asm] Move some logic around to simplify the interface between the
...
front-end and the AsmParser. No functional change intended.
llvm-svn: 166063
2012-10-16 21:55:39 +00:00
Joao Matos
566359c0bf
Revert r163083 per chandlerc's request.
...
llvm-svn: 163149
2012-09-04 17:49:35 +00:00
Chad Rosier
74f3716bc4
[ms-inline asm] Fix an illegal index and an 80-column violation.
...
llvm-svn: 163143
2012-09-04 16:36:26 +00:00
Joao Matos
c32a7e4d8e
Implemented parsing and AST support for the MS __leave exception statement. Also a minor fix to __except printing in StmtPrinter.cpp. Thanks to Aaron Ballman for review.
...
llvm-svn: 163083
2012-09-02 03:45:41 +00:00
Chad Rosier
0bca469d11
[ms-inline asm] Have generateAsmString() return the AsmString computed by Sema.
...
We still need to translate the string, but this at least gets us one step
closer to using the more general EmitAsmStmt() codegen function. No functional
change intended.
llvm-svn: 162785
2012-08-28 20:33:49 +00:00
Chad Rosier
3dd7bf2c86
[ms-inline asm] Add constraints to MSAsmStmt. We don't currently compute
...
the constraints, so in the interim we speculatively assume a 'r' constraint.
This is expected to work for most cases on x86.
llvm-svn: 162784
2012-08-28 20:28:20 +00:00
Chad Rosier
f70b7e284c
[ms-inline asm] Use dyn_cast<> here to simplify logic.
...
llvm-svn: 162773
2012-08-28 18:21:14 +00:00
Chad Rosier
bbbe9ab876
[ms-inline asm] Make the AsmStmt class non-virtual.
...
llvm-svn: 162768
2012-08-28 17:43:23 +00:00
Chad Rosier
a1b5c8c6a1
[ms-inline asm] Hoist more common code into the AsmStmt base class. Add stubs
...
with FIXMEs for unimplemented features. No functional change intended.
llvm-svn: 162716
2012-08-28 00:24:05 +00:00
Chad Rosier
6100ae120c
[ms-inline asm] Add virtual function, getClobber, that returns a StringRef.
...
More work towards unifying asm stmt codegen.
llvm-svn: 162712
2012-08-27 23:47:56 +00:00
Chad Rosier
3b0c2607ef
[ms-inline asm] Rename GenerateAsmString to generateAsmString to conform with
...
coding standards. Also, add stub for MSAsmStmt class as part of unifying
codegen logic for AsmStmts.
llvm-svn: 162696
2012-08-27 20:23:31 +00:00
Chad Rosier
fe3352e0bc
[ms-inline asm] Hoist common logic into the AsmStmt base class.
...
llvm-svn: 162692
2012-08-27 19:38:01 +00:00
Chad Rosier
aeff2299c3
[ms-inline asm] Add a new base class, AsmStmt, for the GCCAsmStmt and MSAsmStmt
...
classes.
llvm-svn: 162691
2012-08-27 18:56:36 +00:00
Chad Rosier
de70e0ef45
[ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt.
...
No functional change intended.
llvm-svn: 162632
2012-08-25 00:11:56 +00:00
Chad Rosier
14836bab36
[ms-inline asm] Refactor code. No functional change intended.
...
llvm-svn: 162568
2012-08-24 17:05:45 +00:00
Chad Rosier
fe31e626ca
[ms-inline asm] Add the basic APIs for Exprs to the MSAsmStmt AST. Next we need
...
generate the Input/Output expressions using Sema::ActOnIdExpression().
llvm-svn: 162509
2012-08-24 00:07:09 +00:00
Chad Rosier
d4e55b8e35
[ms-inline asm] Remove old cruft now that MS-style asms their own code path.
...
llvm-svn: 162210
2012-08-20 17:11:53 +00:00
Chad Rosier
7dbef3e035
[ms-inline asm] Add inputs and outputs to AST. No functional change.
...
llvm-svn: 162000
2012-08-16 00:06:53 +00:00
Chad Rosier
b6f46c1af9
[ms-inline asm] Add the left brace source location and improve the pretty
...
printer. Patch by Enea Zaffanella <zaffanella@cs.unipr.it>.
llvm-svn: 161958
2012-08-15 16:53:30 +00:00