llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Andrzej Warzyński (banach-space)

<details>
<summary>Changes</summary>



---

Patch is 151.52 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/218925.diff


11 Files Affected:

- (modified) clang/test/CIR/CodeGenOpenACC/combined-copy.c (+18-18) 
- (modified) clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c 
(+32-32) 
- (modified) clang/test/CIR/CodeGenOpenACC/compute-copy.c (+18-18) 
- (modified) clang/test/CIR/CodeGenOpenACC/compute-copyin-copyout-create.c 
(+32-32) 
- (modified) clang/test/CIR/CodeGenOpenACC/data-copy-copyin-copyout-create.c 
(+24-24) 
- (modified) clang/test/CIR/CodeGenOpenACC/declare-copy.cpp (+30-31) 
- (modified) clang/test/CIR/CodeGenOpenACC/declare-copyin.cpp (+39-40) 
- (modified) clang/test/CIR/CodeGenOpenACC/declare-copyout.cpp (+30-31) 
- (modified) clang/test/CIR/CodeGenOpenACC/declare-create.cpp (+39-39) 
- (modified) clang/test/CIR/CodeGenOpenACC/enter-data.c (+8-8) 
- (modified) clang/test/CIR/CodeGenOpenACC/exit-data.c (+10-10) 


``````````diff
diff --git a/clang/test/CIR/CodeGenOpenACC/combined-copy.c 
b/clang/test/CIR/CodeGenOpenACC/combined-copy.c
index be07aa96fd1be..a3037349bbd09 100644
--- a/clang/test/CIR/CodeGenOpenACC/combined-copy.c
+++ b/clang/test/CIR/CodeGenOpenACC/combined-copy.c
@@ -75,29 +75,29 @@ void acc_compute(int parmVar) {
 
 #pragma acc parallel loop copy(alwaysin: localVar1) copy(alwaysout: localVar2) 
copy(always: localVar3)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCAL1]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") <{modifiers = 
#acc<data_clause_modifier alwaysin>}> -> !cir.ptr<!s32i> loc
-  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LOCAL2]] : 
!cir.ptr<!s16i>) dataClause(acc_copy) name("localVar2") <{modifiers = 
#acc<data_clause_modifier alwaysout>}> -> !cir.ptr<!s16i> loc
-  // CHECK-NEXT: %[[COPYIN3:.*]] = acc.copyin varPtr(%[[LOCAL3]] : 
!cir.ptr<!cir.float>) dataClause(acc_copy) name("localVar3") <{modifiers = 
#acc<data_clause_modifier always>}> -> !cir.ptr<!cir.float> loc
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCAL1]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") <modifiers = alwaysin> 
-> !cir.ptr<!s32i> loc
+  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LOCAL2]] : 
!cir.ptr<!s16i>) dataClause(acc_copy) name("localVar2") <modifiers = alwaysout> 
-> !cir.ptr<!s16i> loc
+  // CHECK-NEXT: %[[COPYIN3:.*]] = acc.copyin varPtr(%[[LOCAL3]] : 
!cir.ptr<!cir.float>) dataClause(acc_copy) name("localVar3") <modifiers = 
"always"> -> !cir.ptr<!cir.float> loc
   // CHECK-NEXT: acc.parallel combined(loop) dataOperands(%[[COPYIN1]], 
%[[COPYIN2]], %[[COPYIN3]] : !cir.ptr<!s32i>, !cir.ptr<!s16i>, 
!cir.ptr<!cir.float>) {
   // CHECK-NEXT: acc.loop combined(parallel) {
   // CHECK: acc.yield
   // CHECK-NEXT: }
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN3]] : !cir.ptr<!cir.float>) to 
varPtr(%[[LOCAL3]] : !cir.ptr<!cir.float>) dataClause(acc_copy) 
name("localVar3") <{modifiers = #acc<data_clause_modifier always>}> loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN2]] : !cir.ptr<!s16i>) to 
varPtr(%[[LOCAL2]] : !cir.ptr<!s16i>) dataClause(acc_copy) name("localVar2") 
<{modifiers = #acc<data_clause_modifier alwaysout>}> loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCAL1]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") 
<{modifiers = #acc<data_clause_modifier alwaysin>}> loc
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN3]] : !cir.ptr<!cir.float>) to 
varPtr(%[[LOCAL3]] : !cir.ptr<!cir.float>) dataClause(acc_copy) 
name("localVar3") <modifiers = "always"> loc
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN2]] : !cir.ptr<!s16i>) to 
varPtr(%[[LOCAL2]] : !cir.ptr<!s16i>) dataClause(acc_copy) name("localVar2") 
<modifiers = alwaysout> loc
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCAL1]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") 
<modifiers = alwaysin> loc
 
 #pragma acc serial loop copy(always, alwaysin, alwaysout: localVar1)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCAL1]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always>}> -> !cir.ptr<!s32i> loc
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCAL1]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") <modifiers = "always"> 
-> !cir.ptr<!s32i> loc
   // CHECK-NEXT: acc.serial combined(loop) dataOperands(%[[COPYIN1]] : 
!cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(serial) {
   // CHECK: acc.yield
   // CHECK-NEXT: }
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCAL1]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") 
<{modifiers = #acc<data_clause_modifier always>}> loc
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCAL1]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar1") 
<modifiers = "always"> loc
 
   short *localPointer;
   float localArray[5];
@@ -1107,52 +1107,52 @@ void modifier_list() {
 
 #pragma acc parallel loop copy(always:localVar)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <{modifiers = 
#acc<data_clause_modifier always>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <modifiers = "always"> 
-> !cir.ptr<!s32i>
   // CHECK-NEXT: acc.parallel combined(loop) dataOperands(%[[COPYIN1]] : 
!cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(parallel) {
   // CHECK: acc.yield
   // CHECK-NEXT: } independent loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<{modifiers = #acc<data_clause_modifier always>}>
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<modifiers = "always">
 #pragma acc serial loop copy(alwaysin:localVar)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <{modifiers = 
#acc<data_clause_modifier alwaysin>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <modifiers = alwaysin> 
-> !cir.ptr<!s32i>
   // CHECK-NEXT: acc.serial combined(loop) dataOperands(%[[COPYIN1]] : 
!cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(serial) {
   // CHECK: acc.yield
   // CHECK-NEXT: } seq loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<{modifiers = #acc<data_clause_modifier alwaysin>}>
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<modifiers = alwaysin>
 #pragma acc kernels loop copy(alwaysout:localVar)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <{modifiers = 
#acc<data_clause_modifier alwaysout>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <modifiers = alwaysout> 
-> !cir.ptr<!s32i>
   // CHECK-NEXT: acc.kernels combined(loop) dataOperands(%[[COPYIN1]] : 
!cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(kernels) {
   // CHECK: acc.yield
   // CHECK-NEXT: } auto_ loc
   // CHECK-NEXT: acc.terminator
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<{modifiers = #acc<data_clause_modifier alwaysout>}>
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<modifiers = alwaysout>
 #pragma acc parallel loop copy(capture:localVar)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <{modifiers = 
#acc<data_clause_modifier capture>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <modifiers = capture> -> 
!cir.ptr<!s32i>
   // CHECK-NEXT: acc.parallel combined(loop) dataOperands(%[[COPYIN1]] : 
!cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(parallel) {
   // CHECK: acc.yield
   // CHECK-NEXT: } independent loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<{modifiers = #acc<data_clause_modifier capture>}>
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<modifiers = capture>
 #pragma acc serial loop copy(capture, always, alwaysin, alwaysout:localVar)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <{modifiers = 
#acc<data_clause_modifier always,capture>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[LOCALVAR]] : 
!cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") <modifiers = 
"always,capture"> -> !cir.ptr<!s32i>
   // CHECK-NEXT: acc.serial combined(loop) dataOperands(%[[COPYIN1]] : 
!cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(serial) {
   // CHECK: acc.yield
   // CHECK-NEXT: } seq loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<{modifiers = #acc<data_clause_modifier always,capture>}>
+  // CHECK-NEXT: acc.copyout accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) to 
varPtr(%[[LOCALVAR]] : !cir.ptr<!s32i>) dataClause(acc_copy) name("localVar") 
<modifiers = "always,capture">
 }
diff --git a/clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c 
b/clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
index d219414e1601a..2f75c9f0a6670 100644
--- a/clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
+++ b/clang/test/CIR/CodeGenOpenACC/combined-copyin-copyout-create.c
@@ -65,96 +65,96 @@ void acc_combined(int parmVar) {
 
 #pragma acc serial loop copyin(capture: parmVar) copyin(always: localVar1)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <{modifiers = #acc<data_clause_modifier 
capture>}> -> !cir.ptr<!s32i>
-  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) name("localVar1") <{modifiers = #acc<data_clause_modifier 
always>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <modifiers = capture> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) name("localVar1") <modifiers = "always"> -> !cir.ptr<!s32i>
   // CHECK-NEXT: acc.serial combined(loop) dataOperands(%[[COPYIN1]], 
%[[COPYIN2]] : !cir.ptr<!s32i>, !cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(serial) {
   // CHECK: acc.yield
   // CHECK-NEXT: } seq loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN2]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always>}>
-  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("parmVar") <{modifiers = #acc<data_clause_modifier 
capture>}>
+  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN2]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("localVar1") <modifiers = "always">
+  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("parmVar") <modifiers = capture>
 
 #pragma acc kernels loop copyout(capture: parmVar) copyout(always: localVar1)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[CREATE1:.*]] = acc.create varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("parmVar") <{modifiers = 
#acc<data_clause_modifier capture>}> -> !cir.ptr<!s32i>
-  // CHECK-NEXT: %[[CREATE2:.*]] = acc.create varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[CREATE1:.*]] = acc.create varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("parmVar") <modifiers = capture> 
-> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[CREATE2:.*]] = acc.create varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("localVar1") <modifiers = 
"always"> -> !cir.ptr<!s32i>
   // CHECK-NEXT: acc.kernels combined(loop) dataOperands(%[[CREATE1]], 
%[[CREATE2]] : !cir.ptr<!s32i>, !cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(kernels) {
   // CHECK: acc.yield
   // CHECK-NEXT: } auto_ loc
   // CHECK-NEXT: acc.terminator
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[CREATE2]] : !cir.ptr<!s32i>) to 
varPtr(%[[LV1]] : !cir.ptr<!s32i>) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always>}>
-  // CHECK-NEXT: acc.copyout accPtr(%[[CREATE1]] : !cir.ptr<!s32i>) to 
varPtr(%[[PARM]] : !cir.ptr<!s32i>) name("parmVar") <{modifiers = 
#acc<data_clause_modifier capture>}>
+  // CHECK-NEXT: acc.copyout accPtr(%[[CREATE2]] : !cir.ptr<!s32i>) to 
varPtr(%[[LV1]] : !cir.ptr<!s32i>) name("localVar1") <modifiers = "always">
+  // CHECK-NEXT: acc.copyout accPtr(%[[CREATE1]] : !cir.ptr<!s32i>) to 
varPtr(%[[PARM]] : !cir.ptr<!s32i>) name("parmVar") <modifiers = capture>
 
 #pragma acc parallel loop create(capture: parmVar)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[CREATE1:.*]] = acc.create varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <{modifiers = #acc<data_clause_modifier 
capture>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[CREATE1:.*]] = acc.create varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <modifiers = capture> -> !cir.ptr<!s32i>
   // CHECK-NEXT: acc.parallel combined(loop) dataOperands(%[[CREATE1]] : 
!cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(parallel) {
   // CHECK: acc.yield
   // CHECK-NEXT: } independent loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.delete accPtr(%[[CREATE1]] : !cir.ptr<!s32i>) 
dataClause(acc_create) name("parmVar") <{modifiers = #acc<data_clause_modifier 
capture>}>
+  // CHECK-NEXT: acc.delete accPtr(%[[CREATE1]] : !cir.ptr<!s32i>) 
dataClause(acc_create) name("parmVar") <modifiers = capture>
 
 #pragma acc serial loop copyin(capture, always: parmVar, localVar1)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <{modifiers = #acc<data_clause_modifier 
always,capture>}> -> !cir.ptr<!s32i>
-  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) name("localVar1") <{modifiers = #acc<data_clause_modifier 
always,capture>}> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <modifiers = "always,capture"> -> 
!cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) name("localVar1") <modifiers = "always,capture"> -> 
!cir.ptr<!s32i>
   // CHECK-NEXT: acc.serial combined(loop) dataOperands(%[[COPYIN1]], 
%[[COPYIN2]] : !cir.ptr<!s32i>, !cir.ptr<!s32i>) {
   // CHECK-NEXT: acc.loop combined(serial) {
   // CHECK: acc.yield
   // CHECK-NEXT: } seq loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN2]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always,capture>}>
-  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("parmVar") <{modifiers = #acc<data_clause_modifier 
always,capture>}>
+  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN2]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("localVar1") <modifiers = "always,capture">
+  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("parmVar") <modifiers = "always,capture">
 
 #pragma acc kernels loop copyin(readonly, always, alwaysin, capture: parmVar, 
localVar1, localVar2)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <{modifiers = #acc<data_clause_modifier 
always,readonly,capture>}> -> !cir.ptr<!s32i>
-  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) name("localVar1") <{modifiers = #acc<data_clause_modifier 
always,readonly,capture>}> -> !cir.ptr<!s32i>
-  // CHECK-NEXT: %[[COPYIN3:.*]] = acc.copyin varPtr(%[[LV2]] : 
!cir.ptr<!cir.float>) name("localVar2") <{modifiers = #acc<data_clause_modifier 
always,readonly,capture>}> -> !cir.ptr<!cir.float>
+  // CHECK-NEXT: %[[COPYIN1:.*]] = acc.copyin varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) name("parmVar") <modifiers = "always,readonly,capture"> -> 
!cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN2:.*]] = acc.copyin varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) name("localVar1") <modifiers = "always,readonly,capture"> -> 
!cir.ptr<!s32i>
+  // CHECK-NEXT: %[[COPYIN3:.*]] = acc.copyin varPtr(%[[LV2]] : 
!cir.ptr<!cir.float>) name("localVar2") <modifiers = "always,readonly,capture"> 
-> !cir.ptr<!cir.float>
   // CHECK-NEXT: acc.kernels combined(loop) dataOperands(%[[COPYIN1]], 
%[[COPYIN2]], %[[COPYIN3]] : !cir.ptr<!s32i>, !cir.ptr<!s32i>, 
!cir.ptr<!cir.float>) {
   // CHECK-NEXT: acc.loop combined(kernels) {
   // CHECK: acc.yield
   // CHECK-NEXT: } auto_ loc
   // CHECK-NEXT: acc.terminator
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN3]] : !cir.ptr<!cir.float>) 
dataClause(acc_copyin) name("localVar2") <{modifiers = 
#acc<data_clause_modifier always,readonly,capture>}>
-  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN2]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always,readonly,capture>}>
-  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("parmVar") <{modifiers = #acc<data_clause_modifier 
always,readonly,capture>}>
+  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN3]] : !cir.ptr<!cir.float>) 
dataClause(acc_copyin) name("localVar2") <modifiers = "always,readonly,capture">
+  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN2]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("localVar1") <modifiers = "always,readonly,capture">
+  // CHECK-NEXT: acc.delete accPtr(%[[COPYIN1]] : !cir.ptr<!s32i>) 
dataClause(acc_copyin) name("parmVar") <modifiers = "always,readonly,capture">
 
 #pragma acc parallel loop copyout(zero, always, alwaysout, capture: parmVar, 
localVar1, localVar2)
   for(int i = 0; i < 5; ++i);
-  // CHECK-NEXT: %[[CREATE1:.*]] = acc.create varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("parmVar") <{modifiers = 
#acc<data_clause_modifier always,zero,capture>}> -> !cir.ptr<!s32i>
-  // CHECK-NEXT: %[[CREATE2:.*]] = acc.create varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always,zero,capture>}> -> !cir.ptr<!s32i>
-  // CHECK-NEXT: %[[CREATE3:.*]] = acc.create varPtr(%[[LV2]] : 
!cir.ptr<!cir.float>) dataClause(acc_copyout) name("localVar2") <{modifiers = 
#acc<data_clause_modifier always,zero,capture>}> -> !cir.ptr<!cir.float>
+  // CHECK-NEXT: %[[CREATE1:.*]] = acc.create varPtr(%[[PARM]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("parmVar") <modifiers = 
"always,zero,capture"> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[CREATE2:.*]] = acc.create varPtr(%[[LV1]] : 
!cir.ptr<!s32i>) dataClause(acc_copyout) name("localVar1") <modifiers = 
"always,zero,capture"> -> !cir.ptr<!s32i>
+  // CHECK-NEXT: %[[CREATE3:.*]] = acc.create varPtr(%[[LV2]] : 
!cir.ptr<!cir.float>) dataClause(acc_copyout) name("localVar2") <modifiers = 
"always,zero,capture"> -> !cir.ptr<!cir.float>
   // CHECK-NEXT: acc.parallel combined(loop) dataOperands(%[[CREATE1]], 
%[[CREATE2]], %[[CREATE3]] : !cir.ptr<!s32i>, !cir.ptr<!s32i>, 
!cir.ptr<!cir.float>) {
   // CHECK-NEXT: acc.loop combined(parallel) {
   // CHECK: acc.yield
   // CHECK-NEXT: } independent loc
   // CHECK-NEXT: acc.yield
   // CHECK-NEXT: } loc
-  // CHECK-NEXT: acc.copyout accPtr(%[[CREATE3]] : !cir.ptr<!cir.float>) to 
varPtr(%[[LV2]] : !cir.ptr<!cir.float>) name("localVar2") <{modifiers = 
#acc<data_clause_modifier always,zero,capture>}>
-  // CHECK-NEXT: acc.copyout accPtr(%[[CREATE2]] : !cir.ptr<!s32i>) to 
varPtr(%[[LV1]] : !cir.ptr<!s32i>) name("localVar1") <{modifiers = 
#acc<data_clause_modifier always,zero,capture>}>
-  // CHECK-NEXT: acc.copyout accPtr(%[[CREATE1]] : !cir.ptr<!s32i>) to 
varPtr(%[[PARM]] : !cir.ptr<!s32i>) name("par...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/218925
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to