[PATCH] D72811: [WIP][OPENMP5.0] allow lvalue for motion clause

2020-01-15 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen created this revision. cchen added a reviewer: ABataev. Herald added subscribers: cfe-commits, guansong. Herald added a reviewer: jdoerfert. Herald added a project: clang. In OpenMP 5.0 we allow: int *p; int **p; struct S { int struct *sp; double *d; struct S **sp_ar

[PATCH] D86239: [OPENMP]Fix PR47158, case 3: allow devic_typein nested declare target region.

2020-08-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen accepted this revision. cchen added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D86239/new/ https://reviews.llvm.org/D86239 ___ cfe

[PATCH] D92427: [OPENMP51] Add present modifier in defaultmap clause

2020-12-09 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92427/new/ https://reviews.llvm.org/D92427 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin

[PATCH] D91261: [OPENMP]Do not use OMP_MAP_TARGET_PARAM for data movement directives.

2020-12-11 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen accepted this revision. cchen added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91261/new/ https://reviews.llvm.org/D91261 ___ cf

[PATCH] D92427: [OPENMP51] Add present modifier in defaultmap clause

2020-12-11 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/test/OpenMP/target_defaultmap_codegen_01.cpp:1523 -// CK26-DAG: [[SIZES:@.+]] = {{.+}}constant [3 x i64] [i64 4096, i64 4, i64 {{.+}}] +// CK26-DAG: [[SIZES:@.+]] = {{.+}}constant [3 x i64] [i64 4, i64 4096, i64 {{.+}}] // Map t

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-03 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen created this revision. cchen added a reviewer: ABataev. Herald added subscribers: cfe-commits, guansong, yaxunl. Herald added a project: clang. cchen requested review of this revision. Herald added a reviewer: jdoerfert. Herald added a subscriber: sstefan1. Clang now asserts for the below ca

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-03 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 302672. cchen added a comment. Separate test to a independent file Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90704/new/ https://reviews.llvm.org/D90704 Files: clang/lib/CodeGen/CGOpenMPRuntime.cpp clang/

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-03 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. In D90704#2371938 , @jdoerfert wrote: > I do not understand the commit message. Can you try to make it clearer? Hi, sorry for the shabby commit message, I've updated it and use godbolt link instead of pasting the code snippet since

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-03 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. In D90704#2372303 , @ABataev wrote: > It would be good if you could identify the object which leads to a crash, I > mean a target region, variable, etc. 1void 2add_one(float *b, int dm) 3{ 4#pragma omp

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-04 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:2958-2970 +auto PerDevice = OffloadEntriesTargetRegion.find(DeviceID); +if (PerDevice != OffloadEntriesTargetRegion.end()) { + auto PerFile = PerDevice->second.find(FileID); + if (Per

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-04 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:2958-2970 +auto PerDevice = OffloadEntriesTargetRegion.find(DeviceID); +if (PerDevice != OffloadEntriesTargetRegion.end()) { + auto PerFile = PerDevice->second.find(FileID); + if (Per

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-04 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 302882. cchen edited the summary of this revision. cchen added a comment. Fix based on feedback Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90704/new/ https://reviews.llvm.org/D90704 Files: clang/lib/CodeGen

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-04 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 302884. cchen added a comment. Fix coding style Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90704/new/ https://reviews.llvm.org/D90704 Files: clang/lib/CodeGen/CGOpenMPRuntime.cpp clang/lib/CodeGen/CGOpenM

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-04 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 302898. cchen added a comment. Refactor Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90704/new/ https://reviews.llvm.org/D90704 Files: clang/lib/CodeGen/CGOpenMPRuntime.cpp clang/lib/CodeGen/CGOpenMPRuntime

[PATCH] D90704: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts

2020-11-04 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGd0d43b58b109: [OpenMP] target nested `use_device_ptr() if()` and is_device_ptr trigger asserts (authored by cchen). Repository: rG LLVM Github Mon

[PATCH] D84192: [OpenMP5.0] map item can be non-contiguous for target update

2020-11-06 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 303495. cchen added a comment. Rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84192/new/ https://reviews.llvm.org/D84192 Files: clang/include/clang/AST/OpenMPClause.h clang/include/clang/Basic/Diagnost

[PATCH] D84192: [OpenMP5.0] map item can be non-contiguous for target update

2020-11-06 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG0cab91140f61: [OpenMP5.0] map item can be non-contiguous for target update (authored by cchen). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D84192: [OpenMP5.0] map item can be non-contiguous for target update

2020-11-06 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:8572 if (PartialStruct.Base.isValid()) +CurInfo.NonContigInfo.Dims.push_back(0); emitCombinedEntry(CombinedInfo, CurInfo.Types, PartialStruct); MaskRay wrote: >

[PATCH] D90802: [OpenMP] [DOCS] Update OMP5.1 feature status table [NFC]

2020-11-18 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG7046be17307d: [OpenMP] [DOCS] Update OMP5.1 feature status table [NFC] (authored by dreachem, committed by cchen). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.o

[PATCH] D74144: [OPENMP50]Add basic support for array-shaping operation.

2020-10-01 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. Herald added subscribers: sstefan1, yaxunl. @ABataev, the below test is extracted from Sollve test suite and Clang now emit: test.c:17:35: error: subscripted value is not an array or pointer #pragma omp target update to( (([N][N])foo)[1:M] )

[PATCH] D74144: [OPENMP50]Add basic support for array-shaping operation.

2020-10-02 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. In D74144#2307494 , @ABataev wrote: > In D74144#2307454 , @cchen wrote: > >> @ABataev, the below test is extracted from Sollve test suite and Clang now >> emit: >> >> test.c:17:35: error: s

[PATCH] D91998: [OpenMP50][DOCS] Mark target data non-contiguous as done, NFC.

2020-11-23 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen created this revision. Herald added subscribers: cfe-commits, guansong, yaxunl. Herald added a project: clang. cchen requested review of this revision. Herald added a reviewer: jdoerfert. Herald added a subscriber: sstefan1. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D91

[PATCH] D91998: [OpenMP50][DOCS] Mark target data non-contiguous as done, NFC.

2020-11-24 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. I think I'll just land it since it's an nfc. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91998/new/ https://reviews.llvm.org/D91998 ___ cfe-commits mailing list cfe-commits@lists

[PATCH] D92427: [OPENMP51] Add present modifier in defaultmap clause

2020-12-01 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen created this revision. cchen added a reviewer: ABataev. Herald added subscribers: cfe-commits, guansong, yaxunl. Herald added a project: clang. cchen requested review of this revision. Herald added a reviewer: jdoerfert. Herald added a subscriber: sstefan1. Support present modifier in defaul

[PATCH] D92427: [OPENMP51] Add present modifier in defaultmap clause

2020-12-01 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 308760. cchen added a comment. Rebase and fix coding style Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92427/new/ https://reviews.llvm.org/D92427 Files: clang/include/clang/Basic/OpenMPKinds.def clang/lib/

[PATCH] D92427: [OPENMP51] Add present modifier in defaultmap clause

2020-12-01 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. I now only update `target_defaultmap_messages` test since I'm not sure what I've done is correct for the new version. Will add all other defaultmap_messages tests once corrected the stuff I added in `target_defaultmap_messages`. Repository: rG LLVM Github Monorepo CH

[PATCH] D92427: [OPENMP51] Add present modifier in defaultmap clause

2020-12-02 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:3490 +OMPC_MAP_MODIFIER_present); +ImplicitMapModifierLoc[ClauseKind].push_back(SourceLocation()); + } ABataev wrote: > Why need to add an empty `SourceLoc

[PATCH] D92427: [OPENMP51] Add present modifier in defaultmap clause

2020-12-03 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 309292. cchen added a comment. Update based on comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92427/new/ https://reviews.llvm.org/D92427 Files: clang/include/clang/Basic/OpenMPKinds.def clang/lib/Sema

[PATCH] D86119: [OPENMP50]Allow overlapping mapping in target constrcuts.

2020-12-07 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. Just tried this patch and found that below test abort inside `generateInfoCapture`. #include #define LEN 100 int buf[LEN]; int main() { int i; int *p = buf; for (i = 0; i < LEN; i++) { p[i] = 0; } #pragma omp target m

[PATCH] D86119: [OPENMP50]Allow overlapping mapping in target constrcuts.

2020-12-07 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. Below test asserts inside `generateInfoForComponentList`: Assertion failed: (!IsPointer && "Unexpected base element with the pointer type."), function generateInfoForComponentList, file /Users/cchen/workspace/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp, line 775

[PATCH] D109635: [OpenMP] Support construct trait set for Clang

2021-09-16 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG976d474bec35: [OpenMP] Support construct trait set for Clang (authored by cchen). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-16 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 373109. cchen added a comment. Fix ast errors and add some tiny fixes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91944/new/ https://reviews.llvm.org/D91944 Files: clang/include/clang-c/Index.h clang/inclu

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-16 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 373125. cchen added a comment. Rebase and fix warning Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91944/new/ https://reviews.llvm.org/D91944 Files: clang/include/clang-c/Index.h clang/include/clang/AST/Rec

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-16 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 373139. cchen added a comment. Fix flang issue Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91944/new/ https://reviews.llvm.org/D91944 Files: clang/include/clang-c/Index.h clang/include/clang/AST/RecursiveA

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-17 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 373277. cchen added a comment. Fix tests for Windows Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91944/new/ https://reviews.llvm.org/D91944 Files: clang/include/clang-c/Index.h clang/include/clang/AST/Recu

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-17 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/include/clang/AST/StmtOpenMP.h:5412 + + void setIfStmt(Stmt *stmt) { IfStmt = stmt; } + Stmt *getIfStmt() const { return IfStmt; } ABataev wrote: > 1. Make it private, please > 2. Var names must start from capital

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-17 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/include/clang/AST/StmtOpenMP.h:5412 + + void setIfStmt(Stmt *stmt) { IfStmt = stmt; } + Stmt *getIfStmt() const { return IfStmt; } ABataev wrote: > cchen wrote: > > ABataev wrote: > > > 1. Make it private, please >

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-17 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 373312. cchen added a comment. Fix tests and coding style Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91944/new/ https://reviews.llvm.org/D91944 Files: clang/include/clang-c/Index.h clang/include/clang/AST

[PATCH] D100874: [OpenMP] Use irbuilder as default for masked and master construct

2021-09-17 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG2908fc0d3f16: [OpenMP] Use irbuilder as default for masked and master construct (authored by cchen). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-17 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc7d7b98e5263: OpenMP 5.0 metadirective (authored by cchen). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91944/new/ https://reviews.llvm.org/D91944 Files:

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-17 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. I reapplied the patch since I forgot to add author's name in the commit Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91944/new/ https://reviews.llvm.org/D91944 ___ cfe-commits mai

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-20 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. In D91944#3009003 , @uweigand wrote: > Looks like this was committed again, breaking the SystemZ build bots once > again: > https://lab.llvm.org/buildbot/#/builders/94/builds/5661 I'm going to fix this issue now. Repository: rG

[PATCH] D91944: OpenMP 5.0 metadirective

2021-09-20 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. The SystemZ issue is due to the fact that we assumed that `device(cpu)` should be evaluated to true and `device(gpu)` should be evaluated to false in the test so the test should be fixed by specifying the triple. (https://github.com/llvm/llvm-project/commit/3679d2001c87f3

[PATCH] D100673: [OPENMP]Fix PR49698: OpenMP declare mapper causes segmentation fault.

2021-10-01 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array.cpp:54 + sa[1].f.b == &x[0] ? 1 : 0); + // CHECK: 111 222 777 20.0 1 + Do we really expect `sa[1].f.b` be the same as `&x[0]`? Shou

[PATCH] D98358: [OpenMP] Restore backwards compatibility for libomptarget

2021-03-10 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. I think some existing Clang OpenMP codegen tests will break if they are testing against `__kmpc_push_target_tripcount`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98358/new/ https://reviews.llvm.org/D98358 __

[PATCH] D98358: [OpenMP] Restore backwards compatibility for libomptarget

2021-03-10 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen accepted this revision. cchen added a comment. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D98358/new/ https://reviews.llvm.org/D98358 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D131830: [OpenMP] Clang Support for taskwait nowait clause

2022-12-20 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGe9babe757160: [OpenMP] Clang Support for taskwait nowait clause (authored by koops, committed by cchen). Repository: rG LLVM Github Monorepo CHAN

[PATCH] D126494: [clang] avoid assert due to device treated long double as double

2022-05-26 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen created this revision. Herald added a project: All. cchen requested review of this revision. Herald added a reviewer: jdoerfert. Herald added subscribers: cfe-commits, sstefan1. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D126494 Files: c

[PATCH] D126494: [clang] avoid assert due to device treated long double as double

2022-05-26 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:4654 + bool IsLongDouble = BType && BType->getKind() == BuiltinType::LongDouble; + bool IsDevice = getLangOpts().HIP || getLangOpts().CUDA || + getLangOpts().OpenMPIsDevice

[PATCH] D144634: [Clang][OpenMP] Support for Code Generation of loop bind clause

2023-08-09 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8ab62da18d47: [Clang][OpenMP] Support for Code Generation of loop bind clause (authored by cchen). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D144634/new/

[PATCH] D156894: [NFC] Update OpenMP Support page for Clang/LLVM 17

2023-08-25 Thread Chi Chun Chen via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG59fdd4c0715f: [NFC] Update OpenMP Support page for Clang/LLVM 17 (authored by cchen). Herald added a project: clang. Herald added a subscriber: cfe-c

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor clause.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen created this revision. cchen added a reviewer: ABataev. Herald added subscribers: cfe-commits, guansong. Herald added a reviewer: jdoerfert. Herald added a project: clang. This step is the preparation of allowing lvalue in map/motion clause. Repository: rG LLVM Github Monorepo https://r

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor clause.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15283 +return false; + return Visit(E->IgnoreParenImpCasts());; +} @ABataev, in the previous patch you mentioned that we don't need `I

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor clause.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15356 + Expr::EvalResult Result; + if (AE->getIdx()->EvaluateAsInt(Result, SemaRef.getASTContext())) { +if (!Result.Val.getInt().isNullValue()) { -

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 245912. cchen added a comment. Fix based on feedback. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74970/new/ https://reviews.llvm.org/D74970 Files: clang/lib/Sema/SemaOpenMP.cpp Index: clang/lib/Sema/SemaOp

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 11 inline comments as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15450 } + bool VisitCXXThisExpr(CXXThisExpr *CTE) { return true; } + bool VisitStmt(Stmt *) { ABataev wrote: > Do you really need this function? R

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 245955. cchen added a comment. Fix by feedback Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74970/new/ https://reviews.llvm.org/D74970 Files: clang/lib/Sema/SemaOpenMP.cpp Index: clang/lib/Sema/SemaOpenMP.cp

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added a comment. In D74970#1887193 , @ABataev wrote: > Did you try to run the tests? I would suggest adding a test, at least, where > a function is mapped. We should see the error message here. Seems to me, we

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. In D74970#1887252 , @ABataev wrote: > In D74970#1887246 , @cchen wrote: > > > In D74970#1887193 , @ABataev wrote: > > > > > Did you try to run the test

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 245978. cchen added a comment. Add test for mapping function Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74970/new/ https://reviews.llvm.org/D74970 Files: clang/lib/Sema/SemaOpenMP.cpp clang/test/OpenMP/ta

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 245983. cchen added a comment. Fix test and sorry for my carelessness Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74970/new/ https://reviews.llvm.org/D74970 Files: clang/lib/Sema/SemaOpenMP.cpp clang/test/

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 245995. cchen added a comment. Update test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74970/new/ https://reviews.llvm.org/D74970 Files: clang/lib/Sema/SemaOpenMP.cpp clang/test/OpenMP/target_messages.cpp

[PATCH] D74970: [OpenMP] Refactor the analysis in checkMapClauseBaseExpression using StmtVisitor class.

2020-02-21 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. @ABataev, can you land it for me when you have time? Thanks Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74970/new/ https://reviews.llvm.org/D74970 ___ cfe-commits mailing list

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-24 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen created this revision. cchen added a reviewer: ABataev. Herald added subscribers: cfe-commits, guansong. Herald added a reviewer: jdoerfert. Herald added a project: clang. Base declaration in pointer arithmetic expression is determined by binary search with type information. Take "int *a, *b

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-24 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 246293. cchen added a comment. Remove redundant code in test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-24 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 4 inline comments as done. cchen added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7616 dyn_cast(I->getAssociatedExpression()); + const auto *UO = dyn_cast(I->getAssociatedExpression()); bool IsPointer =

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-24 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15712 +const std::string RTS = RT->getCanonicalTypeInternal().getAsString(); +auto CntLayer = [](char c) { return c == '*' || c == '['; }; +size_t LLayerCnt

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-24 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 246304. cchen added a comment. Remove the counting in MapBaseChecker, instead, comparing the type of root with the type of LHS and RHS, and only visit the subtree having the same type as root. This scheme pass all the test I have. I'll add BinOp into components

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-25 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 246495. cchen added a comment. Add BinaryOperator in components and fix logic in MapBaseChecker. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/cl

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-25 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 6 inline comments as done. cchen added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7633 +isa(Next->getAssociatedExpression()) || +isa(Next->getAssociatedExpression())) && "Unexpected expression");

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-25 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 5 inline comments as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15683 } + bool VisitUnaryOperator(UnaryOperator *UO) { +if (SemaRef.getLangOpts().OpenMP < 50) { ABataev wrote: > I think you need to extend thi

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-26 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15683 } + bool VisitUnaryOperator(UnaryOperator *UO) { +if (SemaRef.getLangOpts().OpenMP < 50) { ABataev wrote: > cchen wrote: > > ABataev wrote

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-26 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 2 inline comments as done. cchen added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:9965 "memory order clause '%0' is specified here">; +def err_omp_non_lvalue_in_map_or_motion_clauses: Error< + "expected lvalue with no function c

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247022. cchen added a comment. Fix based on feedback Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 2 inline comments as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15710 +// know the other subtree is just an offset) +assert(BO->getType()->isPointerType() && + "Expect the binary operator be pointer type");

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15710 +// know the other subtree is just an offset) +assert(BO->getType()->isPointerType() && + "Expect the binary operator be pointer type");

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247075. cchen marked 14 inline comments as done. cchen added a comment. Remove redundant else Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247073. cchen added a comment. Fix test and add check for unary operator. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/Basic/DiagnosticSem

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247095. cchen added a comment. Fix based on feedback Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247101. cchen added a comment. Add back the check of UO_Deref Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. In D75077#1896708 , @cchen wrote: > Add back the check of UO_Deref Haven't added tests for some prohibited test cases. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-27 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247122. cchen added a comment. Add test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td clang/lib/CodeGen/CGOp

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-28 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:15499-15501 RelevantExpr = DRE; // Record the component. Components.emplace_back(DRE, DRE->getDecl()); ABataev wrote: > Shall we do this

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-28 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247298. cchen added a comment. Add assert to make sure that we never overwrite RelevantExpr Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/B

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-28 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 247303. cchen added a comment. return RelevantExpr || Visit(LE); Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 Files: clang/include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D75077: [OpenMP5.0] Allow pointer arithmetic in motion/map clause

2020-02-28 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen added a comment. @ABataev, can you land it for me when you have time? Thanks, Chi Chun Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75077/new/ https://reviews.llvm.org/D75077 ___ cfe-commits ma

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-10-30 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1969-1972 + (DSAStack->getDefaultDMIBAtLevel(Level, OMPC_DEFAULTMAP_scalar) == + DMIB_alloc || + DSAStack->getDefaultDMIBAtLevel(Level, OMPC

[PATCH] D69316: [OpenMP 5.0] target update list items need not be contiguous (Sema)

2019-10-30 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 227169. cchen added a comment. Remove the restriction rule for array section to another patch Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69316/new/ https://reviews.llvm.org/D69316 Files: clang/lib/Sema/Sema

[PATCH] D69316: [OpenMP 5.0] target update list items need not be contiguous (Sema)

2019-10-30 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen updated this revision to Diff 227174. cchen added a comment. Rebase and fix add OpenMP 50 guard Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D69316/new/ https://reviews.llvm.org/D69316 Files: clang/lib/Sema/SemaOpenMP.cpp clang/test/Open

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-10-31 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 12 inline comments as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1978 + DSAStack->getDefaultDMIBAtLevel(Level, OMPC_DEFAULTMAP_scalar) == + DMIB_firstprivate) || DSAStack->hasExplicitDSA( --

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-01 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/include/clang/Basic/OpenMPKinds.def:426-436 +OPENMP_DEFAULTMAP_KIND(aggregate) +OPENMP_DEFAULTMAP_KIND(pointer) // Modifiers for 'defaultmap' clause. +OPENMP_DEFAULTMAP_MODIFIER(alloc) +OPEN

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-02 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7368-7370 + bool IsImplicit, OpenMPDefaultmapClauseModifier ImplicitBehavior = + OMPC_DEFAULTMAP_MODIFIER_default, + OpenMPDefaultmapClauseKin

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-04 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 2 inline comments as done. cchen added inline comments. Comment at: clang/lib/CodeGen/CGOpenMPRuntime.cpp:7246-7248 +// Set implicit behavior except for "default" for defaultmap +if ((Bits & OMP_MAP_IMPLICIT) && +(ImplicitBehavior != OMPC_DEFAULTMAP_M

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-06 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked 2 inline comments as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:1967 (DSAStack->isForceCaptureByReferenceInTargetExecutable() && !Ty->isAnyPointerType()) || !Ty->isScalarType() || AB

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-06 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4374 + case DMIB_unspecified: +return OMPC_MAP_tofrom; + } ABataev wrote: > cchen wrote: > > ABataev wrote: > > > `OMPC_MAP_tofrom` must be return

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-06 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4374 + case DMIB_unspecified: +return OMPC_MAP_tofrom; + } ABataev wrote: > cchen wrote: > > ABataev wrote: > > > cchen wrote: > > > > ABataev wro

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-07 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:16411-16420 +bool isDefaultmapModifier = (M == OMPC_DEFAULTMAP_MODIFIER_alloc) || +(M == OMPC_DEFAULTMAP_MODIFIER_to) || +

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-07 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4435-4437 +if (DMIB == DMIB_alloc) Kind = OMPC_MAP_alloc; +else if (DMIB == DMIB_to) Kind = OMPC_MAP_to; +else if (DMIB == DMIB_from) Kind = OMPC

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-08 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Parse/ParseOpenMP.cpp:2343-2344 +// pointer +if (Arg.back() < OMPC_DEFAULTMAP_MODIFIER_unknown) + Arg.back() = OMPC_DEFAULTMAP_MODIFIER_unknown; KLoc.push_back(Tok.getLoca

[PATCH] D69204: [OpenMP 5.0] - Extend defaultmap

2019-11-11 Thread Chi Chun Chen via Phabricator via cfe-commits
cchen marked an inline comment as done. cchen added inline comments. Comment at: clang/lib/Sema/SemaOpenMP.cpp:4476 } -if (!ImplicitMaps.empty()) { - CXXScopeSpec MapperIdScopeSpec; - DeclarationNameInfo MapperId; - if (OMPClause *Implicit = ActOnOpenMPMap

<    1   2   3   >