Skip to content

Conversation

@Prabhuk
Copy link
Contributor

@Prabhuk Prabhuk commented Nov 14, 2025

Reverts #168112

@llvmbot llvmbot added clang Clang issues not falling into any other category clang:frontend Language frontend issues, e.g. anything involving "Sema" clang:openmp OpenMP related changes to Clang labels Nov 14, 2025
@Prabhuk Prabhuk requested a review from chichunchen November 14, 2025 22:13
@llvmbot
Copy link
Member

llvmbot commented Nov 14, 2025

@llvm/pr-subscribers-clang

Author: Prabhu Rajasekaran (Prabhuk)

Changes

Reverts llvm/llvm-project#168112


Full diff: https://github.com/llvm/llvm-project/pull/168130.diff

2 Files Affected:

  • (modified) clang/lib/Sema/SemaOpenMP.cpp (+3-3)
  • (removed) clang/test/OpenMP/parallel_default_variableCategory_codegen.cpp (-91)
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index 31c8f0cd30c56..81c591a00cfc6 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -1364,15 +1364,15 @@ DSAStackTy::DSAVarData DSAStackTy::getDSA(const_iterator &Iter,
   DefaultDataSharingAttributes IterDA = Iter->DefaultAttr;
   switch (Iter->DefaultVCAttr) {
   case DSA_VC_aggregate:
-    if (!D->getType()->isAggregateType())
+    if (!VD->getType()->isAggregateType())
       IterDA = DSA_none;
     break;
   case DSA_VC_pointer:
-    if (!D->getType()->isPointerType())
+    if (!VD->getType()->isPointerType())
       IterDA = DSA_none;
     break;
   case DSA_VC_scalar:
-    if (!D->getType()->isScalarType())
+    if (!VD->getType()->isScalarType())
       IterDA = DSA_none;
     break;
   case DSA_VC_all:
diff --git a/clang/test/OpenMP/parallel_default_variableCategory_codegen.cpp b/clang/test/OpenMP/parallel_default_variableCategory_codegen.cpp
deleted file mode 100644
index ffafc9a9410b7..0000000000000
--- a/clang/test/OpenMP/parallel_default_variableCategory_codegen.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-// RUN: %clangxx -Xclang -verify -Wno-vla -fopenmp -fopenmp-version=60 -x c++ -S -emit-llvm %s -o - | FileCheck %s
-// expected-no-diagnostics
-#ifndef HEADER
-#define HEADER
-
-int global;
-#define VECTOR_SIZE 4
-
-int main (int argc, char **argv) {
-  int i,n;
-  int x;
-
-  n = VECTOR_SIZE;
-
-  #pragma omp parallel masked firstprivate(x) num_threads(2)
-  {
-     int *xPtr = nullptr;
-     // scalar
-     #pragma omp task default(shared:scalar)
-     {
-       xPtr = &x;
-     }
-     #pragma omp taskwait
-
-     // pointer
-     #pragma omp task default(shared:pointer) shared(x)
-     {
-       xPtr = &x;
-     }
-     #pragma omp taskwait
-  }
-
-  int *aggregate[VECTOR_SIZE] = {0,0,0,0};
-  
-  #pragma omp parallel masked num_threads(2)
-  {
-     // aggregate
-     #pragma omp task default(shared:aggregate)
-     for(i=0;i<n;i++) {
-       aggregate[i] = &x;
-     }
-     #pragma omp taskwait
-
-     #pragma omp task default(shared:aggregate) shared(x)
-     for(i=0;i<n;i++) {
-       aggregate[i] = &x;
-     }
-     #pragma omp taskwait
-
-     // all
-     #pragma omp task default(shared:all)
-     for(i=0;i<n;i++) {
-       aggregate[i] = &x;
-     }
-     #pragma omp taskwait
-  }
-}
-
-#endif
-
-// CHECK-LABEL: define {{.*}}main.omp_outlined{{.*}}
-// CHECK-NEXT:  entry:
-// CHECK: %x.addr = alloca{{.*}}
-// CHECK: %xPtr = alloca{{.*}}
-// CHECK: store ptr null, ptr %xPtr{{.*}}
-// CHECK: store ptr %xPtr{{.*}}
-// CHECK: store ptr %x.addr{{.*}}
-// CHECK-NEXT:  {{.*}}call{{.*}}__kmpc_omp_task_alloc{{.*}}
-// CHECK: ret void
-//
-// CHECK: define {{.*}}main.omp_outlined{{.*}}
-// CHECK-NEXT:  entry:
-// CHECK-DAG: %i.addr = alloca{{.*}}
-// CHECK-DAG:  %n.addr = alloca{{.*}}
-// CHECK-DAG:  %aggregate.addr = alloca{{.*}}
-// CHECK-DAG:  %x.addr = alloca{{.*}}
-// CHECK: [[TMP0:%.*]] = load{{.*}}%i.addr{{.*}}
-// CHECK-NEXT:  [[TMP1:%.*]] = load{{.*}}%n.addr{{.*}}
-// CHECK-NEXT:  [[TMP2:%.*]] = load{{.*}}%aggregate.addr{{.*}}
-// CHECK-NEXT:  [[TMP3:%.*]] = load{{.*}}%x.addr{{.*}}
-// CHECK: store ptr [[TMP2]]{{.*}}
-// CHECK-NEXT:  {{.*}}call{{.*}}__kmpc_omp_task_alloc{{.*}}
-// CHECK: store ptr [[TMP2]]{{.*}}
-// CHECK: store ptr [[TMP3]]{{.*}}
-// CHECK-NEXT:  {{.*}}call{{.*}}__kmpc_omp_task_alloc{{.*}}
-// CHECK: store ptr [[TMP0]]{{.*}}
-// CHECK: store ptr [[TMP1]]{{.*}}
-// CHECK: store ptr [[TMP2]]{{.*}}
-// CHECK: store ptr [[TMP3]]{{.*}}
-// CHECK-NEXT:  {{.*}}call{{.*}}__kmpc_omp_task_alloc{{.*}}
-// CHECK: ret void

@Prabhuk
Copy link
Contributor Author

Prabhuk commented Nov 14, 2025

@chichunchen -- didn't see your revert in the tree. So kicked off this one.
FYI - @SunilKuravinakop

@Prabhuk Prabhuk merged commit 944278f into main Nov 14, 2025
11 of 14 checks passed
@Prabhuk Prabhuk deleted the revert-168112-patch_fix_variable_category branch November 14, 2025 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clang:frontend Language frontend issues, e.g. anything involving "Sema" clang:openmp OpenMP related changes to Clang clang Clang issues not falling into any other category

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants